有的時候在前端頁面也會需要拿到網址或是網址上的 QueryString ,該怎麼拿到呢?
測試網址:http://localhost:5241/home/index?a=1&b=2&c=3&c=33
其中 c 參數是陣列的形式,內容有 3 和 33
直接看程式碼:
測試網址:http://localhost:5241/home/index?a=1&b=2&c=3&c=33
其中 c 參數是陣列的形式,內容有 3 和 33
直接看程式碼:
@using Microsoft.Extensions.Primitives
@{
Console.WriteLine($"Path:{Context.Request.Path}"); // /home/index
Console.WriteLine($"QueryString:{Context.Request.QueryString}"); // ?a=1&b=2&c=3&c=33
// 印出所有 QueryString
foreach (KeyValuePair<string, StringValues> keyValuePair in Context.Request.Query)
{
Console.WriteLine(keyValuePair.Key + " : " + keyValuePair.Value);
}
/*
a : 1
b : 2
c : 3,33
*/
// --- 取指定 QueryString 的第一種方式 ---
Context.Request.Query.TryGetValue("a", out StringValues a);
Console.WriteLine($"a:{a}"); // a:1
Context.Request.Query.TryGetValue("b", out StringValues b);
Console.WriteLine($"b:{b}"); // b:2
Context.Request.Query.TryGetValue("c", out StringValues c);
Console.WriteLine($"c:{c}"); // c:3,33
Context.Request.Query.TryGetValue("d", out StringValues d); // 沒有這個參數
Console.WriteLine($"d:{d}"); //
// --- 取指定 QueryString 的第二種方式 ---
StringValues aValues = Context.Request.Query["a"];
Console.WriteLine($"aValues:{aValues}"); // aValues:1
StringValues bValues = Context.Request.Query["b"];
Console.WriteLine($"bValues:{bValues}"); // bValues:2
StringValues cValues = Context.Request.Query["c"];
Console.WriteLine($"cValues:{cValues}"); // cValues:3,33
// StringValues 可以再歷遍,如果是陣列就有多個
foreach (string? stringValue in cValues)
{
Console.WriteLine($"stringValue:{stringValue}");
}
/*
stringValue:3
stringValue:33
*/
}
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com