【问题标题】:How to parse a string URL into MVC Route Values (area, controller, action, querystring)?如何将字符串 URL 解析为 MVC 路由值(区域、控制器、操作、查询字符串)?
【发布时间】:2010-09-02 13:28:50
【问题描述】:

有没有一种方法可以从 ASP.NET MVC 中的 URL 中提取区域、控制器、操作和查询字符串?如果已经有办法,不想重新发明轮子来实现我自己的。

谢谢!

【问题讨论】:

    标签: asp.net-mvc parsing asp.net-mvc-2 url routevalues


    【解决方案1】:

    我可以从这里得到它:

    String URL to RouteValueDictionary

    要从我使用的示例中获取区域:

    string area = routeData.DataTokens["area"].ToString();

    【讨论】:

      【解决方案2】:

      您可以从路线中提取此信息:

      var controller = RouteData.Values["controller"];
      var action = RouteData.Values["action"];
      var action = RouteData.Values["area"];
      

      就查询字符串而言,您可以从请求中提取它:

      var queryString = Request.Url.Query;
      

      更新:

      如果 url 来自数据库:

      var uri = new Uri(someStringThatRepresentsTheUrlAndComesFromADb);
      var queryString = uri.Query;
      

      【讨论】:

      • 嗯,这确实很酷,但 URL 字符串不是来自当前上下文,而是来自数据库。
      • 谢谢,是的,我可以得到查询字符串。问题在于真正获得区域、控制器和行动。有时一个动作有一个尾随的“/”,有时它没有,所以从右边数可能会产生误导。另一方面,一个应用程序可以在 IIS 中的不同目录结构中,因此从左侧计算位置也不是很简单......
      猜你喜欢
      • 2010-10-23
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多