Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RouteValue vs QueryString MVC?_C#_Asp.net Mvc_Routes - Fatal编程技术网

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中与变量名匹配的每个值