zoukankan      html  css  js  c++  java
  • 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)AreasAdminViews" xcopy "$(ProjectDir)Views" "$(SolutionDir)$(SolutionName)AreasAdminViews" /S /E /C /Y

      意思就是,相信大家都能看得懂,就是完全复制MVCSHOP.Admin的Views文件夹下所有文件至MVCSHOP/Areas/Admin/Views中。

      现在再次访问/Admin/Home/List就可以得到正确结果了,并且你可以发现List.cshtml已经被复制到MVCSHOP/Areas/Admin/Views/Home目录里。

      

      

  • 相关阅读:
    vue使用bus总线,实现非父子组件间的通信
    vue的$on,$emit的使用
    vue中使用v-bind="$attrs"和v-on="$listeners"进行多层组件监听
    手机端页面,点击手机号拨打电话
    Google Chrome 错误代码“STATUS_INVALID_IMAGE_HASH”
    Nuxt项目启动或打包时,显示内存不足溢出问题解决方案
    使用van-tabbar底部导航栏,会覆盖页面内容解决方法
    微信公众号配置
    文件在线预览kkFileView的使用
    akka-typed(7)
  • 原文地址:https://www.cnblogs.com/zhuxiaohui/p/3607994.html
Copyright © 2011-2022 走看看