MVC2.0 用Area 扩展项目的目录结构

Area是MVC2.0里新特性,但是感觉在项目中应用的不是很多,也许是项目比较小吧,没有在意目录结构的整理,举个例子来说吧,比如我们在管理自己项目的后台时候需要建立一个Admin目录,总感觉Admin建在View目录下不是很好,而且对URL显示也不是很完美..比如/Admin/index.aspx… 如果能有一个目录来单独管理Admin 是很完美滴…

  在 MVC1.0时没办法实现这个功能,MVC2.0 提供了Area 特性,用来管理越来越庞大的项目目录结构..

  在VS2010里面项目上右键.添加…

  输入名称之后..目录结构会变成:

  其中Admin 就是我输入的区域名称了.

  大家会发现生成的目录结构和外层View目录结构一样的.(Home目录是我后来改的为了后面的测试.)

  并且增加了AdminAreaRegistration.cs文件,.

  代码如下:

namespace MvcApplication1.Areas.Admin 
{ 
  public class AdminAreaRegistration : AreaRegistration 
  { 
    public override string AreaName 
    { 
      get 
      { 
        return "Admin"; 
      } 
    } 
 
    public override void RegisterArea(AreaRegistrationContext context) 
    { 
      context.MapRoute( 
        "Admin_default", 
        "Admin/{controller}/{action}/{id}", 
        new { action = "Index", id = UrlParameter.Optional } 
      ); 
    } 
  } 
} 

  可以看到这个文件配置了Area的路由访问规则. 在浏览器输入/Admin/Home

  查看原图(大图)

  因为 HomeController跟 View里面的HomeControllerc 同名.所以他无法识别是调用哪个Controller 会报错.

  所以我们在Area里面建立 Controller的时候需要注意不要和View里面的Controller重名..

  在http://www.cnblogs.com/tthxnz/archive/2009/11/12/1602097.html这篇博文里面介绍的Area Controller和View完全同名之后不会报错,只是调用的Controller一样而已..

  没有做深入研究,猜测应该是版本原因,.他是mvc2 pr2版本..

  修正之后访问:

  用了这个特性之后,我们在管理自己的项目结构更得心应手了,就比如我上文介绍的建立自己的后台管理目录..

  对于这个特性相信应该不知这一点用途,希望有知道其他用途的园友分享下…

时间: 2024-10-03 19:37:07

MVC2.0 用Area 扩展项目的目录结构的相关文章

MVC2.0:用Area扩展项目的目录结构

Area是MVC2.0里新特性,但是感觉在项目中应用的不是很多,也许是项目比较小吧,没有在意目录结构的 整理,举个例子来说吧,比如我们在管理自己项目的后台时候需要建立一个Admin目录,总感觉Admin建在 View目录下不是很好,而且对URL显示也不是很完美..比如/Admin/index.aspx- 如果能有一个目录来单独 管理Admin 是很完美滴- 在 MVC1.0时没办法实现这个功能,MVC2.0 提供了Area 特性,用来管理越来越庞大的项目目录结 构.. 在VS2010里面项目上右

浅析Android系统的架构以及程序项目的目录结构

Android框架结构 直接上图: 由上图,我们可以看出Android系统架构由5部分组成, 分别是:Linux Kernel(linux内核).Android Runtime(运行时环境).Libraries(类库).Application Framework(应用框架).Applications(应用). 1.1.Linux Kernel Android基于Linux 2.6提供核心系统服务,例如:安全.内存管理.进程管理.网络堆栈.驱动模型.Linux Kernel也作为硬件和软件之间的抽

ASP.NET MVC 入门 2、项目的目录结构与核心的DLL

我们新建一个ASP.NET MVC的Web Application后,默认的情况下,项目的目录结构如下: App_Data :这个目录跟我们一般的ASP.NET website是一样的,用于存放数据. Content :这个目录是建议用来存放一下资源文件的.例如CSS.JS.图片等等.当然你不愿意的话,完全可以不放到这里来. Controllers :这个目录是建议将Controller类都放到这里来,方便管理.Controller类的命名必须以Controller结尾,例如一个名为Home的C

求教大神,在MyEclipse创建maven项目,目录结构不对,是什么问题

问题描述 求教大神,在MyEclipse创建maven项目,目录结构不对,是什么问题 这个是我的项目结构 正确的结构应该是下面的,不知道是什么原因,不知道是不是maven没装好,但是用dos输入mvn 测试又是好的 求大神帮忙解答下,感谢,万分 解决方案 你那个目录没有问题的 教程上面创建的只是一个简单的maven工程而已,如同一个j2se工程加入了maven 你创建的是一个dynamic web project,比教程上的内容丰富. 可以跑j2ee项目的哦 没事都可以使用

asp.net比较大型的企业网站的项目、目录结构问题

大型企业网站不同于一般的网站(几个页面就行了),大型网站有大量的页面,权限控制等也很复杂,为了提高开发效率,代码能有效重用,还是得注意一下项目的结构问题,不然乱开发效率是很低的,还不利于维护. 网站文件项目(WebApp) App_Data (重要文件)-- 这里可以放网站配置文件,要设置写入权限. DynamicFiles(常规文件)--存放需要进行读写.上传的文件,CKEdit等网页编辑器要上传的文件等.设置有写入权限. App_Code  供网站后台直接调用的最常用代码,函数等. App_

Webpack创建、运行vue.js项目及其目录结构详解

项目环境搭建: 1.安装node 点击下面链接进行下载: node官网 https://nodejs.org/en/ 版本查看: 运行命令行 cmd,然后输入 node -v 查看node版本: 注意:node版本最好新一点好,推荐6.0以上. 2.全局安装vue-cli 在命令行输入: npm install-g vue-cli 3.创建一个基于 "webpack" 模板的新项目 vue init webpack project-name(默认安装2.0版本) vue init we

项目的目录结构进行分类规划对可维护性的意义

以前也没有深刻意识到它的重要性.直到后来,去接手一些遗留系统,那种混乱,寻找代码和代码文件多么费力.系统经过了很多人手,人员调岗,人员离职.每个人都有自己的风格,折腾一下,就闪了.丢下一个千疮百孔的系统.   人的眼睛是相信现实的东西,没有经历过那种坑,就无法理解.所以当我们怎么说要规划好目录结构,要好的命名方式,一些技术都不以为然.包括我以前也一样,我以前能够接受好的东西,但是我没理解,就不会有深刻发自自觉性去这样做.内心只是想:这个问题不大吧. 因为现实案例最让人印象深刻.总结一下遇到的问题

java web项目的目录结构

 

java web项目 目录结构

问题描述 从别人那里copy了一个java web项目.但是这个项目的目录结构和我之前见过的都不一样.结构是这样的.项目名称:|-.settings|-JavaSource|-WebContent|-test|-.copyarea.db我想把这个项目导入到MyEclipse中,但是无法导入.好像提示找不到.project.最后我自己建立了一个web工程.把项目中的内容都copy进去 这样就可以了.这是为什么呢?我见过的web项目都是这样的结构:|-.myeclipse|-.settings|-.