有和没有在ASP.NET MVC 4控制器名称路由(Routing with and without

2019-08-19 20:08发布

我使用ASP.NET MVC 4,我有一些问题,设置了我的路线。 你能告诉我如何设置我的路由指向的网址行动如下:

  • “/”(或 “/开始”)=> PublicController.Start()
  • “/关于”=> PublicController.About()
  • “/我的编目”(或 “/我的编目/概述”)=> MyPageController.Summary()
  • “/我的编目/发票”=> MyPageController.Invoices()
  • “/我的编目/发票/ 72”=> MyPageController.Invoice(INT ID)

它的URL“/关于”那个食堂的事情了我,即没有指定控制器的URL。 如果我作出这样一个工作,那些指定控制器停止工作的人。 我可以创建一个单独的控制器“/关于”我想,但我宁愿没有,如果我没有(我有以下这种模式更多的URL)。

Answer 1:

这应该这样做:

routes.MapRoute(
    name: "About",
    url: "About",
    defaults: new { controller = "Public", action = "About" }
);

routes.MapRoute(
    name: "MyPageSummary",
    url: "MyPage",
    defaults: new { controller = "MyPage", action = "Summary" }
);

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Public", action = "Start", id = UrlParameter.Optional }
);


文章来源: Routing with and without controller name in ASP.NET MVC 4