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(分区)以及页面模板加载查找路径的设置.

posted on 2016-02-05 08:47  大西瓜3721  阅读(426)  评论(0编辑  收藏  举报

导航