如何获得查询字符串变量在MVC 4的请求?(How to get query string vari

2019-08-01 14:46发布

我在这里guffawed上与网页API品种我的第一个MVC 4项目。

在MVC 3,我能得到像这样的查询字符串参数:

var unicornName = Request.Query["unicornName"];

但在MVC 4,它看起来像请求从去HttpRequestBaseHttpRequestMessage和查询参数不再。 所以,嗯,好吧,我现在该如何得到它们。 我在网上找到了几个例子,但他们是荒谬的。

这个人建议用“和”分裂RequestUri的查询字符串,并找到您的PARAM和对。 而这个例子表明调用GetQueryNameValuePairs返回键值对的列表中的新请求对象的方法,然后做一些LINQ找到你的key和value。 它不能真正做到这倒着拿东西那么简单。 请告诉我,我失去了一些东西!

:我能理解这是怎么回事的模型绑定,我应该通过行动的方法PARAMS被引进的查询字符串参数的方式,但仍有来自请求时查询字符串变量需要被人拔光倍,如(容易吗?)在过滤器中。

Answer 1:

我想这可能是你在找什么,

  var queryValues = Request.RequestUri.ParseQueryString();

https://stackoverflow.com/a/11729619/6819



Answer 2:

如果LINQ是真的那么麻烦,只是包装你的结果GetQueryNameValuePairs()在词典:

var requestQuery = 
    list.ToDictionary((keyItem) => keyItem.Key, (valueItem) => valueItem.Value);

然后,您可以让您的字符串参数只是像往常一样:

var unicornName = requestQuery["unicornName"];


文章来源: How to get query string variables in MVC 4's Request?