MVC 3 AreaRegistration and some problem reference

先上图

QQ截图20110804181014

途中目录【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”;

希望能帮到你!

原文地址:https://www.cnblogs.com/jinzhao/p/2127816.html