MVC+Ext.net零基础学习记录(二)
很多人在开发一个新的项目时,需要先决定项目的整体架构,是决定使用MVC的同时也不例外,具体包含:项目的多语言性,项目的多风格选择,项目的可扩展性
其中项目的多语言性:http://www.cnblogs.com/coolcode/archive/2009/07/08/1519029.html,这是我所看到的比较好的解决方法
这里着重说一下MVC的Areas作用,相信几个基本的项目,都需要分为好几个模块,比如,仓库进销存管理,财务管理,人事管理,如果能够将这些模块,都分为不同的项目进行管理,需要的时候,整合起来,那也算比较完美的,为此MVC提供了Areas(区域)的概念达到这一目的。
具体操作是我参考的博客园里面的某个大神的文章,可惜的是,我找不到原地址了,这里只能大体的解释一下
比如我们现在要创建一个MVCSHOP的项目,其中分为前台购物+后台管理两个模块,
1 首先新建一个MVCSHOP的空白项目,在项目上右键->添加->Areas,输入"Admin"
2 在Areas/Admin/Controllers文件夹下面新建HomeController并添加一个Index的方法和对应的View文件。这里可 以发现Areas的另一个好处:你可以在不同Areas下面添加相同名称的Controller
3 在解决方案上面新建一个MVCSHOP.Admin的MVC3项目,并且删除Global.asax和Web.config两个文件
4 在MVCSHOP.Admin的根目录新建一个AdminAreaRegistration的类,输入如下内容:
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 } ); } }
5 删除MVCSHOP项目/Areas/Admin文件夹下面的AdminAreaRegistration.cs文件以及Controllers文件夹(包括HomeController)
6 在MVCSHOP.Admin项目的Controllers里面新建一个HomeController
记得保留MVCSHOP/Areas/Admin下面的Views,并且在MVCSHOP项目里面引用MVCSHOP.Admin项目
7 现在运行程序并访问/Admin/Home/Index可以发现Admin项目生效了。这样,我们可以将所有的与后台管理相关的Controller都放到这个新的项目中来
8 为了使我们在MVCSHOP.Admin自动生成的View自动同步到MVCSHOP/Areas/Admin /Views文件夹中,可以使用“生成事件(Build Event)”里的“Post-Build Event”,打开MVCSHOP.Admin的属性,修改如下所示:
mkdir "$(SolutionDir)$(SolutionName)\Areas\Admin\Views" xcopy "$(ProjectDir)Views" "$(SolutionDir)$(SolutionName)\Areas\Admin\Views" /S /E /C /Y
意思就是,相信大家都能看得懂,就是完全复制MVCSHOP.Admin的Views文件夹下所有文件至MVCSHOP/Areas/Admin/Views中。
现在再次访问/Admin/Home/List就可以得到正确结果了,并且你可以发现List.cshtml已经被复制到MVCSHOP/Areas/Admin/Views/Home目录里。
最新文章
- d3 中exit() remove()正确工作的方式
- NOI 题库 9272 题解
- Jenkins中构建Testcomplete项目的方法介绍
- myaudio.duration为null的解决办法
- 程序员DNS知识指南
- Windows 10 开始菜单修改程序
- TTL电平、CMOS电平、RS232电平的区别
- Cassandra命令行CLI的基本使用
- [FML]学习笔记一Cross-validation交叉验证
- 缓存一致性和跨服务器查询的数据异构解决方案canal
- java中重载一定在一个类里面吗?
- BZOJ 2222: [Cqoi2006]猜数游戏【神奇的做法,傻逼题,猜结论】
- 设置 Visual Studio IIS Express 站点局域网访问
- [原创]浅谈移动互联网App兼容性测试
- 端口转发工具rinetd的安装与配置
- 关于collectionview布局的坑
- .net图表之ECharts随笔07-自定义系列(多边形)
- 非常有助于理解二极管PN结原理的资料
- 在Word 2007中添加参考文献及其引用的方法
- mysql按日/周/月统计
热门文章
- 2017.2.12 开涛shiro教程-第七章-与Web集成
- node在Fedora 22系统下开发环境搭建
- CentOS下配置iptables防火墙 linux NAT(iptables)配置
- 红米note3刷安卓原生
- 微信开源组件WCDB漫谈及Demo
- SQL Server -使用表触发器记录表插入,更新,删除行数
- 17:不重复整数提取NoRepeatNum
- 深入Asyncio(三)Asyncio初体验
- CentOS7时间设置及ntp同步配置(转)
- 【PHP开发】ThinkPHP3.1.3问题集及解决方法