ASP.NET MVC Area使用-将Area设置成独立项目

环境说明:Vistual Studio 2013

MVC 4.0

其实关于ASP.NET MVC Area使用的基础知识可以参考 http://www.cnblogs.com/willick/p/3331519.html 这篇软文.

Global.asax 中的 Application_Start 方法里面有这样一句代码

AreaRegistration.RegisterAllAreas();

估计: 它的作用会到当前MVC 所在的bin中,动态注入继承了 AreaRegistration的类, 这个类配置了分区的路由. 所以对于将"分区"独立在当前MVC项目"外"时,想办法将这个分区编译的dll保存到当前MVC应用对应的bin目录下.

特别说明: 1).HealthDemo.Web.Admin项目类型是类库,它的实际物理路径依旧在HealthDemo.Web目录下,具体看下面的截图

手工改下HealthDemo.Web.Admin这个类库项目的 HealthDemo.Web.Admin.csproj  文件,让其编辑的dll保存在HealthDemo.Web\bin 目录里面

后面基本就是程序该做事情

果然可以生成对应的带分区的url,发现发出admin/controller/action形式的请求可以打到HealthDemo.Web.Admin.Controllers对应控制器,但是控制器并没有找到已经被独立在"外"的视图,这个视图文件实际的物理路径在HealthDemo.Web\administration\Views中的Home下, 所以我们要重新设置MVC引擎搜索模板的路径

通过这个小实验,感受了下ASP.NET MVC 3 Area(分区)以及页面模板加载查找路径的设置.

项目Demo: http://yun.baidu.com/share/link?shareid=1654488135&uk=118268666

posted @ 2016-02-04 17:02  轴轴  阅读(3096)  评论(4编辑  收藏  举报