我正在尝试访问ASP.NET MVC6应用程序中的查询字符串参数。但它似乎不像MVC5和Web表单,QueryString没有任何索引器,我不能说像:
string s = Request.QueryString["key1"] //gives error
所以,我的问题是 - 如何在MVC6中访问查询字符串参数?
令人惊讶的是Request.Forms
集合按预期工作(如在MVC5或Web表单中)。
谢谢。
答案 0 :(得分:29)
支持使用索引器进行查询。
context.Request.Query["value"];
另请注意,在MVC 6中,您可以使用[FromQuery]属性直接从查询建模绑定。
public IActionResult ActionMethod([FromQuery]string key1)
{
...
}
答案 1 :(得分:17)
所以,我的问题是 - 如何在MVC6中访问查询字符串参数?
您可以使用ASPNET 5中新添加的Request.Query
。
var queryStrings = Request.Query;
我要尝试的网址是 - http://localhost:12048/Home/Index?p=123&q=456
您可以使用 -
queryStrings.Keys
然后你可以通过迭代键来获取值 -
var qsList = new List<string>();
foreach(var key in queryStrings.Keys)
{
qsList.Add(queryStrings[key]);
}