1

我的常规 url 布局如下所示:

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/

我该如何处理?

4

1 回答 1

2

您真正要寻找的是Areas(一个 ASP.NET MVC 术语,在其他 MVC 框架中有时称为“模块”)。

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

简而言之,anArea会让您拥有特定于“区域”的控制器和视图,如下所示:

常规结构(默认区域):

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

“管理”区域(例如):

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

对于路由,您通常必须通过在Global.asax.

于 2013-05-16T07:58:36.223 回答