Asp.net mvc 组织与管理相关的控制器和视图页
管理部分位于www.example.com/admin 所以我有一个管理员控制器 但我也有与用户管理相关的控制器和配置控制器,我希望url类似: www.example.com/admin->adminController www.example.com/admin/user/->adminUserController www.example.com/admin/user/edit www.example.com/admin/user/addAsp.net mvc 组织与管理相关的控制器和视图页,asp.net-mvc,Asp.net Mvc,管理部分位于www.example.com/admin 所以我有一个管理员控制器 但我也有与用户管理相关的控制器和配置控制器,我希望url类似: www.example.com/admin->adminController www.example.com/admin/user/->adminUserController www.example.com/admin/user/edit www.example.com/admin/user/add 我讨厌AdminUserController这个名字
我还有哪些其他选项?您可以在同一个项目中使用多个选项(在MVC2中)。你可以有一个管理区。这使您能够以合理的方式组织所有控制器,并解决命名问题:在“管理”区域中有一个“用户控制器”。您可以在同一项目中使用多个控制器(在MVC2中)。你可以有一个管理区。这使您能够以合理的方式组织所有控制器,并解决命名问题:在“管理”区域中有一个“用户控制器”。控制器/视图名称与物理位置和路由之间没有直接关系,您可以在Global.asax中对此进行控制,如果您有AdminController,则可以定义如下路由
example.com/Admin/Manage/
在您的全球范围内,您将:
routes.MapRoute(
"AdminSection",
"Admin/Manage/{action}/{id}",
new { controller = "AdminController", action = "Index", id = "" }
);
因此,当输入一个类似example.com/Admin/Manage/的路由时,您将重定向到所需的控制器和操作,严格来说,控制器的名称不是路由上的名称。
希望有帮助。控制器/视图名称和物理位置与您的路由之间没有直接关系,您可以在Global.asax中对此进行控制,如果您有AdminController,您可以定义如下路由
example.com/Admin/Manage/
在您的全球范围内,您将:
routes.MapRoute(
"AdminSection",
"Admin/Manage/{action}/{id}",
new { controller = "AdminController", action = "Index", id = "" }
);
因此,当输入一个类似example.com/Admin/Manage/的路由时,您将重定向到所需的控制器和操作,严格来说,控制器的名称不是路由上的名称。
希望能有帮助