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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(分区)以及页面模板加载查找路径的设置.

以上是关于ASP.NET MVC Area使用-将Area设置成独立项目的主要内容,如果未能解决你的问题,请参考以下文章

asp.net mvc5 设置Area下的为启动页

将文件夹添加到 ASP.net MVC 5 站点中的所有 URL

Asp.net 5 (MVC6) Areas 分区

ASP.net 2.2 MVC:注销

在 ASP.NET MVC 3 中发布动态表单

ASP.Net MVC3 - 将剃刀标记作为参数传递