2009-12-01 49 views
0

管理部分在www.example.com/admin组织管理相关的控制器和查看页面

所以我有一个admincontroller。

但我也有用户管理相关的控制器,并且配置控制器,我想要的网址是这样的:

www.example.com/admin - > adminController

www.example.com/admin /用户/ - > adminUserController www.example.com/admin/user/edit www.example.com/admin/user/add

  1. 我最讨厌的名字AdminUserController,有什么建议?

View页面被组织,如:

/视图/管理 /视图/管理/用户/

因此在短短手动引用类似的回报查看视图页面(“〜/视图/管理/用户/添加“);

我还有其他选择吗?

回答

4

您可以在同一个项目(在MVC 2)使用多个areas。你可以有一个管理区域。这可以让您以合理的方式组织所有控制器,并解决命名问题:您在“管理”区域中有一个“UserController”。

1

有控制器之间没有直接的关系/视图名称和物理位置和路线,你可以在Global.asax控制这一点,如果你有一个AdminController您可以定义路由像

example.com/Admin/Manage/ 

在全局将是这样的:

routes.MapRoute(
       "AdminSection", 
       "Admin/Manage/{action}/{id}", 
       new { controller = "AdminController", action = "Index", id = "" } 
      ); 

所以当进入这样example.com/Admin/Manage/路由重定向到所需的控制器和行动,在控制器的名称是不严格的一个上路线。 希望它有助于。