QueryString
inRequest
和 和有什么不一样RouteData.Values
?
我们可以改用它们吗?
问问题
7986 次
1 回答
14
RouteValues 仅在 global.asax 中定义时才从查询字符串中收集,例如:
routes.MapRoute(
"Example", // Route name
"{controller}/{action}/{id}/{inRouteValues}", // URL with parameters
new { controller = "Home", action = "Index" } // Parameter defaults
);
将捕获 inRouteValues,yourdomain/testController/testAction/14/myTestValue
其中RouteData.Values["inRouteValues"]
将是值为“myTestValue”的字符串。
但是,如果您将构建 URL 就像yourdomain/testController/testAction/14?inRouteValues=myTestValue
它不会得到它。所以不同之处在于,它RouteData.Values
只会从与RouteCollection
global.asax匹配的 URL 中获取值,并且QueryString
如果它与变量名匹配,则会从查询字符串中捕获每个值。
于 2012-12-30T16:44:02.827 回答