Asp.net mvc 4 将节添加到URL而不添加控制器

Asp.net mvc 4 将节添加到URL而不添加控制器,asp.net-mvc-4,Asp.net Mvc 4,我有一个MVC应用程序,其中包含一些视图,用于管理办公室详细信息。通过localhost/MyApp/MyView1可以很好地显示视图,但我希望URL中也有一个OfficeMgr部分。例如:localhost/MyApp/OfficeMgr/MyView1 我不想要名为OfficeMgr的控制器。我只希望URL有一个额外的部分 如何将OfficeMgr部分添加到URL?您可以为路由指定任何前缀属性: 文件App\u Start\RouteConfig.cs负责应用程序中的路由配置。您可以添加或更

我有一个MVC应用程序,其中包含一些视图,用于管理办公室详细信息。通过localhost/MyApp/MyView1可以很好地显示视图,但我希望URL中也有一个OfficeMgr部分。例如:localhost/MyApp/OfficeMgr/MyView1

我不想要名为OfficeMgr的控制器。我只希望URL有一个额外的部分


如何将OfficeMgr部分添加到URL?

您可以为路由指定任何前缀属性:

文件
App\u Start\RouteConfig.cs
负责应用程序中的路由配置。您可以添加或更改默认管线以提供传统区段,例如:

 routes.MapRoute(
            name: "Default",
            url: "{area}/{controller}/{action}/{id}",
            defaults: new { area = "OfficeMgr", controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
然后您的url将如下所示:
http://myserver/OfficeMgr/Home/Index

您应该在此处查看,以了解更多Asp.net MVC路由信息:

如果需要在定义的区域中拆分应用程序,则应使用MVC区域:


  • 您可以在您的项目中添加区域,或者只添加特定的路由重定向到您的控制器。我将查看区域,这似乎很有希望。谢谢您的回复。OfficeMgr部分只针对几个视图,而不是所有视图。然后您应该实现一些区域,这些区域将根据一些逻辑(例如管理、办公、财务)对应用程序进行细分。