2012-12-30 13 views

risposta

12

RouteValues ​​sono raccolti da querystring solo se sono definiti global.asax, ad esempio:

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

interferirà inRouteValues ​​da yourdomain/testController/testAction/14/myTestValue dove RouteData.Values["inRouteValues"] sarà stringa con valore "myTestValue".
Ma se si crea un URL come yourdomain/testController/testAction/14?inRouteValues=myTestValue non lo otterrà. Quindi la differenza è che RouteData.Values otterrà solo i valori dagli URL corrispondenti a RouteCollection dal tuo global.asax e QueryString prenderà ogni valore dalla tua querystring se corrisponde al nome della variabile.

Problemi correlati