所以我创建了一个包含两个绑定的网站
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
routes.MapRoute(
name: "DefaultAdmin",
url: "Admin/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
这个想法是我想让EndUsers访问普通页面(/account/login
等等),但管理员用户只有一个管理员部分(具有不同的布局)。
问题有点像: -
就控制器而言,MVC看起来只是在Controllers文件夹中查找,是否有办法分离AdminControllers和常规控制器以保持组织有序?
我想为管理员显示一个单独的“主视图”而不是常规,目前我只是使用来自_layout.cshtml
的{{1}},但我希望能够使用_start.cshtml
和_layout.cshtml
而不在每个视图前面加上视图的名称(如果没有,那么我可以很容易地使用这个视图)。
任何帮助都会受到影响。
答案 0 :(得分:3)
您可以将控制器放置在程序集中的任何位置,只要它们派生自System.Web.Mvc.Controller
类,它们将由路由逻辑识别。
您可以查看MVC中的“区域”,以帮助满足您的特定需求。
答案 1 :(得分:2)
听起来MVC中的Areas
就是你要找的东西。