2012-12-30 67 views

回答

12

RouteValues僅從查詢字符串如果global.asax中被定義,例如聚集:

routes.MapRoute(
"Example", // Route name 
"{controller}/{action}/{id}/{inRouteValues}", // URL with parameters 
new { controller = "Home", action = "Index" } // Parameter defaults 
); 

將捕捉從yourdomain/testController/testAction/14/myTestValue inRouteValues其中RouteData.Values["inRouteValues"]將字符串值 「myTestValue」。
但是,如果你將建立像yourdomain/testController/testAction/14?inRouteValues=myTestValue這樣的URL,它不會得到它。所以區別在於RouteData.Values只會從您的global.asax中匹配RouteCollection的URL中獲得值,如果匹配變量名稱,QueryString將捕獲查詢字符串中的每個值。