ASP.NET 中Request.QueryString 中的key

在ASP.net中 的Key是可能爲null的,例如在以下的Url中
http://localhost:14546/Home/Index?a
有一個key=null 其value是a,之前一直覺得key=a value=空串。通過實際測法,發現其實並非這樣。
若是url=http://localhost:14546/Home/Index?a=1&b 那麼存在一個key=null和value=b的鍵值對
若是url=http://localhost:14546/Home/Index?a=1&b& 那麼就存在一個key=null,value=b 以及一個value=空串的鍵值對。mvc

測試程序以下(mvc的)測試

1 public ActionResult Index()
2 {
3 return View();
4 }
 1 @{
 2 ViewBag.Title = "Index";
 3 }
 4 <style>
 5 table {
 6 width:500px;
 7 border-collapse: collapse;
 8 }
 9 th,td {
10 border: 1px solid black;
11 }
12 th {
13 background-color:#efefef;
14 }
15 </style>
16 <h2>Index</h2>
17 
18 @{
19 Func<string, string> render = (value) =>
20 {
21 if (value == null)
22 return "NULL";
23 
24 if (string.IsNullOrEmpty(value))
25 return "EMPTY";
26 
27 return value;
28 };
29 }
30 <table>
31 <tr>
32 <th> key</th>
33 <th> value</th>
34 </tr>
35 @foreach (var key in Request.QueryString.AllKeys)
36 {
37 <tr>
38 <td>@render(key)</td>
39 <td>@render(Request.QueryString[key])</td>
40 </tr>
41 }
42 </table>

輸入http://localhost:14546/Home/Index?aurl

KEY Value
NULL a

 

 

輸入http://localhost:14546/Home/Index?a=1&spa

Key value
a 1
NULL EMPTY

 

 

 

輸入http://localhost:14546/Home/Index?a&b.net

Key value
null a,b
相關文章
相關標籤/搜索