【问题标题】:Parse MVC route custom file extension from RequestContext从 RequestContext 解析 MVC 路由自定义文件扩展名
【发布时间】:2011-05-18 14:03:48
【问题描述】:

我已经设置了两个自定义扩展来在 IIS6 中启用 MVC。

因此可以使用类似...的 URL 访问该站点

mysite/mycontroller.europe/myaction

或者喜欢...

mysite/mycontroller.america/myaction

RequestContext 实例中找到扩展的最可靠方法是什么?

所以我希望能够写出类似...的东西

var location = reqContext.......GetExtenstion(); // location = "europe"

即使站点/目录的设置发生了一些变化,显然也可以做到这一点。

【问题讨论】:

    标签: c# asp.net-mvc path requestcontext


    【解决方案1】:

    定义路线:

    routes.MapRoute(
        "DefaultWithExtension",
        "{controller}.{extension}/{action}",
        new { controller = "Home", action = "Index", extension = "america" }
    );
    

    然后:

    var extension = RequestContext.RouteData.GetRequiredString("extension");
    

    【讨论】:

    • 正是我想要的!再次感谢您
    【解决方案2】:

    您还可以将扩展定义为控制器所有相关操作的字符串参数,在这种情况下,它将直接可用。 例如

    public ActionResult myaction(string extension)
    

    这仍然需要上面定义的 mapRoute 条目。

    【讨论】:

      猜你喜欢
      • 2014-02-14
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      相关资源
      最近更新 更多