环境说明: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

ASP.NET MVC Area使用-将Area设置成独立项目的更多相关文章

  1. 如何将ASP.NET MVC所有参数均自动设置为默认

    今天看到CSDN上有个问题觉得有点意思:"可不可以ASP.NET MVC所有参数均自动设置为默认" public class HomeController : Controller ...

  2. [asp.net mvc 奇淫巧技] 06 - 也许你的项目同一个用户的请求都是同步的

    一.感慨 很久前看到一篇博客中有句话大致的意思是:“asp.net 程序性能低下的主要原因是开发人员技术参差不齐”,当时看到这句话不以为然,然而时间过的越久接触的.net 开发人员越多就越认同这句话: ...

  3. 新版本chrome浏览器控制台怎么设置成独立的窗口

    新版本chrome浏览器控制台怎么设置成独立的窗口: 就是你要切换控制台在底部和右侧的那个按钮,然后长按

  4. asp.net MVC 5 Scaffolding多层架构代码生成向导开源项目(邀请你的参与)

    Visual Studio.net 2013 asp.net MVC 5 Scaffolding代码生成向导开源项目 提高开发效率,规范代码编写,最好的方式就是使用简单的设计模式(MVC , Repo ...

  5. Asp.Net MVC 把PartialView、View转换成字符串

    在开发中有时要在后台获得某个View 或者 PartialView 生成的字符串,只要你熟悉Asp.Net MVC  生命周期就能理解和敲出下面的代码.没什么高深的,直接上代码: 1,输出View H ...

  6. Asp .Net Mvc在DeBug模式下设置自定义IP

    首先打开所在项目下的.vs文件(查看隐藏文件) 打开config下的applicationhost.config文件 往下拖大概100多行的位置,复制一下binding,然后设置本地ip,如果是设置i ...

  7. ASP.NET MVC 允许跨域请求设置

    场景:创建一个图片上传的站点,用于其他站点跨域上传附件和图片之类. 上传插件结合百度的 webuploader.js 经常会碰到,跨域的问题,如下, 处理方式呢,是在web.config 中配置允许跨 ...

  8. Asp.net MVC Form认证,IIS改成集成模式后,FormsAuthentication.SetAuthCookie无效,Request.IsAuthenticated值,始终为false,页面提示HTTP 错误 401.0 - Unauthorized,您无权查看此目录或页面

    最近公司领导要求,IIS网站要由经典模式改为集成模式,以提高性能.改完之后,登录成功跳转到主页之后,页面提示“”HTTP 错误 401.0 - Unauthorized“,“您无权查看此目录或页面”, ...

  9. Asp.net MVC area

    妈的,今天去携程面试,技术面了三轮,竟然让我走了,没有然后了,你不要老子,干嘛还面那么多轮,害的老子一上午的时间没了,气死我了. 好了,总结下面试中的问题吧, 1.GC 2.设计模式 3.做过的项目的 ...

随机推荐

  1. python中配置文件写法

    import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) print(BASE_DIR) USE ...

  2. CodeLite的姿势

    在Mac上安装cscope 1.下载cscope的Zip压缩包 2.解压 3.打开终端,进入解压目录,运行 ./configure make make install 4.在CodeLite中,在Pl ...

  3. C/C++宏中#与##的讲解

    http://www.cnblogs.com/morewindows/archive/2011/08/18/2144112.html

  4. php瀑布流,把一个数组分4个数组,按照时间排序

    简单介绍:把一个数组分成4个数组,取其中1的倍数 <?php $arr = array( ', ', ', ', ', ', ', ', ', ', ', ', ', ); foreach($a ...

  5. Linq 中按照多个值进行分组(GroupBy)

    Linq 中按照多个值进行分组(GroupBy) .GroupBy(x => new { x.Age, x.Sex }) group emp by new { emp.Age, emp.Sex ...

  6. javascript 时间处理

    <script language="JavaScript" type="text/JavaScript"> var myDate = new Dat ...

  7. PHP Warning: date() [function.date]: It is not safe to rely on the system's timezone

    在用PHP5.3以上的PHP版本时,只要是涉及时间的会报一个 Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the ...

  8. linux网络:常用命令(二)

    1.ping命令:与Windows下基本功能一样但也有所区别 1.命令格式: ping [选项] ip地址或域名主机等 选项 -c 加次数 -d 使用Socket的SO_DEBUG功能. -f 极限检 ...

  9. lishell学习之路:流程控制(case)

    流程控制case语句: 介绍:多分支case条件语句 1.case语句和if..elif..else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而i ...

  10. 理解CSS3中的background-size(对响应性图片等比例缩放)

    理解CSS3中的background-size(对响应性图片等比例缩放) 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用ba ...