什么是Request和RouteData.Values中的QueryString之间的区别?
我们可以使用它们吗?
解决方法
仅当在global.asax中定义时才从查询字符串收集RouteValues,例如:
routes.MapRoute( "Example",// Route name "{controller}/{action}/{id}/{inRouteValues}",// URL with parameters new { controller = "Home",action = "Index" } // Parameter defaults );
将从yourdomain / testController / testAction / 14 / myTestValue中捕获到来的值其中RouteData.Values [“inRouteValues”]将是值为“myTestValue”的字符串.但是如果你要构建像yourdomain / testController / testAction / 14这样的URL?inRouteValues = myTestValue它就不会得到它.不同之处在于,RouteData.Values将仅从与global.asax匹配的RouteCollection的URL中获取值,而QueryString将捕获查询字符串中的每个值(如果它与变量名称匹配).