C# RouteValue vs QueryString MVC?
C# RouteValue vs QueryString MVC?,c#,asp.net-mvc,routes,C#,Asp.net Mvc,Routes,Request中的QueryString与RouteData.Values之间有什么区别? 我们可以使用它们吗?只有在global.asax中定义了路由值时,才会从querystring收集路由值,例如: routes.MapRoute( "Example", // Route name "{controller}/{action}/{id}/{inRouteValues}", // URL with parameters new { controller = "Home", actio
Request
中的QueryString
与RouteData.Values
之间有什么区别?
我们可以使用它们吗?只有在global.asax中定义了路由值时,才会从querystring收集路由值,例如:
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[“inroutedvalues”]
将是值为“myTestValue”的字符串但是如果您将像
yourdomain/testController/testAction/14这样构建URL?inRouteValues=myTestValue
它将不会得到它。所以不同之处在于,RouteData.Values
将仅从您的global.asax中匹配routedCollection
的URL获取值,QueryString
将捕获QueryString中与变量名匹配的每个值