我的常规网址布局如下所示:
http://localhost:1337/Site1
http://localhost:1337/Site2
http://localhost:1337/Site3
现在我想在/ Views /目录中的单独子文件夹中创建管理。因此URL应如下所示:
http://localhost:1337/Administration/AdminSite1
http://localhost:1337/Administration/AdminSite2
http://localhost:1337/Administration/AdminSite3
这显然不适用于在Views目录中创建子文件夹。
这是我的观察文件夹的样子:
/Views/Site1/Index.cshtml
/Views/Site2/Index.cshtml
/Views/Site3/Index.cshtml
/Views/Administration/AdminSite1/Index.cshtml
/Views/Administration/AdminSite2/Index.cshtml
/Views/Administration/AdminSite3/Index.cshtml
相应的控制器文件夹:
/Controllers/Site1Controller/
/Controllers/Site2Controller/
/Controllers/Site3Controller/
/Controllers/Administration/AdminSite1Controller/
/Controllers/Administration/AdminSite2Controller/
/Controllers/Administration/AdminSite3Controller/
我该如何处理?
答案 0 :(得分:2)
您实际需要的是Areas
(ASP.NET MVC术语,有时在其他MVC框架中称为“模块”)。
见这里:http://msdn.microsoft.com/en-us/library/ee671793(v=vs.100).aspx
简而言之,Area
会让你拥有控制器&特定于“区域”的视图,如下所示:
常规结构(默认区域):
/Models
/Controllers
/Views/[Controller]/[Action].cshtml
'管理员'区域(例如):
/Areas/Admin/Models
/Areas/Admin/Controllers/
/Areas/Admin/Views/[Controller]/[Action].cshtml
在路由方面,您通常需要通过Global.asax
中的“注册”区域手动配置它。