MVC 3 AreaRegistration and some problem reference
先上图
途中目录【Areas】【Admin】名字随便。
目录说明:【Admin】代表当前area,里面就像默认的MVC模板创建的网站一样放你的目录【Controllers】【Views】;
配置说明:需要在【Views】下放MVC的config,最简单的办法就是新建一个MVC项目从【Views】里拷贝一个过来。每个Area中的Views都需一个单独的Config。
配置Area类:{AdminAreaRegistration}类需要放在【Admin】目录下(这个是默认的要求,如果有需求的话也可以放在别的地方,需要另外再设置命名空间,此处不说了),类必须继承自AreaRegistration类,类名无所谓,MVC会反射当前网站中所有继承自这个类的实体初始化并注册。
可能会碰到的问题:
1)如果您Area中的controller与默认的Controller名有重复,但是命名空间不重复,可以在global.cs中在
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
后加一句
ControllerBuilder.Current.DefaultNamespaces.Add("YourNamespace");
2)如果你常用Helper.Action等需要跨Area执行Action,那么默认会出错,必须在routevalus强制指定area=“xxx”;
希望能帮到你!