2012-12-30 3 views

ответ

12

RouteValues ​​собраны из строк запроса, только если определены в global.asax, например:

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

будет ловить inRouteValues ​​от yourdomain/testController/testAction/14/myTestValue , где RouteData.Values["inRouteValues"] будет строка со значением "myTestValue".
Но если вы будете строить URL-адрес, как yourdomain/testController/testAction/14?inRouteValues=myTestValue, он не получит его. Таким образом, разница в том, что RouteData.Values получит только значения из URL-адресов, которые соответствуют RouteCollection, из вашего global.asax и QueryString поймают каждое значение из вашего запроса, если оно соответствует имени переменной.

Смежные вопросы