MVC视图的子文件夹

本文关键字:文件夹 视图 MVC | 更新日期: 2023-09-27 18:14:05

我的常规url布局如下:

http://localhost:1337/Site1

http://localhost:1337/Site2

http://localhost:1337/Site3

现在我想在/Views/目录下的一个单独的子文件夹中创建管理。所以url应该是这样的:

http://localhost:1337/Administration/AdminSite1http://localhost:1337/Administration/AdminSite2http://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文件夹:

/Controllers/Site1Controller/

/Controllers/Site2Controller/

/Controllers/Site3Controller/

/Controllers/Administration/AdminSite1Controller/

/Controllers/Administration/AdminSite2Controller/

/Controllers/Administration/AdminSite3Controller/

我该如何处理?

MVC视图的子文件夹

你实际上在寻找的是Areas(一个ASP。. NET MVC术语,有时在其他MVC框架中称为"模块")。

请看这里:http://msdn.microsoft.com/en-us/library/ee671793(v=vs.100).aspx

简而言之,Area将让您拥有控制器&特定于"Area"的视图,如下所示:

常规结构(默认区域):

/Models
/Controllers
/Views/[Controller]/[Action].cshtml

'Admin'区域(例如):

/Areas/Admin/Models
/Areas/Admin/Controllers/
/Areas/Admin/Views/[Controller]/[Action].cshtml

对于路由,您通常必须通过在Global.asax中"注册"区域来手动配置它。