我在这里为我的第一个使用 Web Api 品种的 MVC 4 项目工作而大笑。
在 MVC 3 中,我可以获得如下查询字符串参数:
var unicornName = Request.Query["unicornName"];
但在 MVC 4 中,看起来请求来自
HttpRequestBase
到 HttpRequestMessage
并且 Query 参数不再存在。所以,嗯,好吧,我现在如何得到它们。我在网上找到了几个例子,但它们很荒谬。This fellow recommends用“&”分割 RequestUri 的查询字符串并找到你的参数和对。 And this example显示调用
GetQueryNameValuePairs
新请求对象上的方法返回键值对列表,然后执行一些 linq 来查找您的键和值。要得到如此简单的东西,真的不可能如此倒退。请告诉我我错过了什么!备注 :我可以理解它正在采用模型绑定(bind)的方式,我应该通过操作的方法参数引入查询字符串参数,但是仍然有一些时候需要从请求中提取查询字符串变量(很容易?),例如一个过滤器。
最佳答案
我想这可能是你正在寻找的,
var queryValues = Request.RequestUri.ParseQueryString();
https://stackoverflow.com/a/11729619/6819
关于asp.net-mvc-4 - 如何在 MVC 4 的请求中获取查询字符串变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12944358/