有没有办法将所有查询字符串名称/值对都集成到集合中?
我正在寻找.net的内置方式,如果不是我可以分开&并加载一个集合。
答案 0 :(得分:92)
是的,请使用HttpRequest.QueryString
集合:
获取HTTP查询字符串变量的集合。
你可以像这样使用它:
foreach (String key in Request.QueryString.AllKeys)
{
Response.Write("Key: " + key + " Value: " + Request.QueryString[key]);
}
答案 1 :(得分:9)
嗯,Request.QueryString
已经是一个集合。具体来说,它是NameValueCollection
。如果您的代码在ASP.NET中运行,那就是您所需要的。
所以回答你的问题:是的,有。
答案 2 :(得分:7)
您可以使用LINQ创建可在数组中访问的匿名对象列表:
var qsArray = Request.QueryString.AllKeys
.Select(key => new { Name=key.ToString(), Value=Request.QueryString[key.ToString()]})
.ToArray();
答案 3 :(得分:6)
如果只有一个查询字符串仅表示为字符串,请使用HttpUtility.ParseQueryString将其解析为NameValueCollection。
但是,如果这是HttpRequest的一部分,那么使用已经解析的HttpRequest的QueryString属性。
答案 4 :(得分:2)
QueryString
类中的 HttpRequest
属性实际上是NameValueCollection类。您需要做的就是
NameValueCollection col = 的Request.QueryString;