Quali sono le differenze tra QueryString
in Request
e RouteData.Values
?
Possiamo usarli invece?RouteValues vs QueryString MVC?
7
A
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.