代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

ASP.NET MVC中的URL路由

  •  0
  • leora Matt Lacey  · 技术社区  · 14 年前

    我有一个applicationcontroller类,其中包含一个名为admin的操作

    所以我的网址是 网址:www.mysite.com/application/admin

    不管怎样,我能让你知道路线吗 网址:www.mysite.com/admin 然后转到这个方法。

    我知道我可以通过创建一个 管理员控制器 但对于这一功能,我认为只需放入另一个控制器就更容易了。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Robert Harvey    14 年前

    把这个放在你的默认路线上面:

    routes.MapRoute(
        "ShortRoute",
        "{action}",
        new { controller = "Application", action = "Index"}
    );
    
        2
  •  1
  •   bzlm    14 年前

    您可以设置 Application 控制器和 Admin 方法作为默认控制器和操作,使用 参数默认 :

    routes.MapRoute(
        "Default", // Route name
        "{action}", // URL with parameters
        new { controller = "Application", action = "Admin" }
    );
    

    如果这是您的最后一个路由,它将匹配任何没有控制器名称和操作名称的请求。在这个特定的示例中,即使没有操作的请求也会执行 行政 动作,因为它是默认动作。

    请注意,具有参数默认值的路由可以在现有路由中创建奇怪的行为(如果有)。你可以一直使用 ASP.NET MVC Routing Debugger 测试与给定URL匹配的路由。