【问题标题】:ASP.NET MVC2 Routing IssueASP.NET MVC2 路由问题
【发布时间】:2012-10-02 15:48:13
【问题描述】:

我在不同的子文件夹中有两个同名的控制器 我的控制器看起来像

  • 控制器
    • API
      • 用户控制器
    • 帮助
      • 用户控制器

当用户请求http://mysite/api/User/Index时,我想访问我的第一个控制器

当用户请求http://mysite/help/User/Index时访问我的第二个控制器

如何在 Global.asax 中配置路由以及视图文件夹的外观?

会是什么样子?

  • 查看次数
    • 用户
      • API
        • 索引
      • 帮助
        • 索引

感谢和问候。

【问题讨论】:

    标签: asp.net-mvc-2 asp.net-mvc-routing


    【解决方案1】:

    您可以使用命名空间约束:

    routes.MapRoute(
        "help",
        "help/{controller}/{action}",
        new { controller = "User", action = "Index" },
        new[] { "MvcApplication1.Controllers.help" }
    );
    
    routes.MapRoute(
        "api",
        "api/{controller}/{action}",
        new { controller = "User", action = "Index" },
        new[] { "MvcApplication1.Controllers.api" }
    );
    

    就视图的子文件夹而言,不支持开箱即用。您必须写一个custom view engine 才能使其工作。

    顺便问一下,你考虑过使用Areas吗?它们似乎更适合您的场景。因此,您将定义 2 个区域:helpapi,并在两者中定义 UserController。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-10
      • 2011-05-12
      • 2011-04-04
      相关资源
      最近更新 更多