【问题标题】:RouteValues vs QueryString MVC?RouteValues 与 QueryString MVC?
【发布时间】:2012-12-30 12:01:45
【问题描述】:

Request 中的 QueryStringRouteData.Values 有什么区别?
我们可以改用它们吗?

【问题讨论】:

    标签: c# asp.net-mvc routes


    【解决方案1】:

    仅当在 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 将从您的查询字符串中捕获与变量名匹配的每个值。

    【讨论】:

      猜你喜欢
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多