zoukankan      html  css  js  c++  java
  • MVC3中在同一解决方案的不同项目中实现Area功能

    1、背景
         微软在MVC中引入了Area概念,用于复杂项目的分工开发。如一个MVC项目中Controller过多时,就会导致项目中包含大量的Controller+View+Model,无论是查找还是调试都比较麻烦。因此微软引入了Area概念,不过默认也是在同一个项目中创建多个Area区域,本文主要讲解根据业务需要创建不同的Area项目,每个项目中都包含Controller+View+Model,也可以调用各自独立的业务逻辑和数据访问层,并通过主MVC项目进行导航
     
     
    2、使用步骤
        2.1 创建一个shell(壳)的MVC项目,作为主项目,命名为Web.UI
     
        2.2 在主项目中创建一个Area文件夹
     
        2.3 创建一个名称为Web.UI.Area1的MVC空项目,创建位置位于主项目的Area文件夹下,并删除如global.asax等文件。新建Web.UI.Area1AreaRegistration.cs类文件,设置路由,代码如下:
    namespace Web.UI.Area1
    {
        public class Area1AreaRegistration : AreaRegistration
        {
            public override string AreaName
            {
                get
                {
                    return "Web.UI.Area1";
                }
            }
            public override void RegisterArea(AreaRegistrationContext context)
            {
                context.MapRoute(
                    "Web.UI.Area1",
                    "Web.UI.Area1/{controller}/{action}/{id}",
                    new { action = "Index", id = UrlParameter.Optional },
                    new string[] { "Web.UI.Area1.Controllers" }
                );
            }
        }
    }
     
               创建一个测试Controller如Area1Controller.cs,并创建一个Action命名为Index,可显示任意信息,用于表示导航到此页面
       
        2.4 设置Web.UI.Area1的生成事件,将本项目生成的dll同时拷贝到Web.UI项目的bin目录下
             项目名称-->右键属性-->生成事件-->后期生成事件命令行输入以下内容:
              
    xcopy /r /y $(TargetDir)*.dll  $(SolutionDir)Web.UIin
              xcopy /r /y $(TargetDir)*.pdb  $(SolutionDir)Web.UIin
      
        2.5 在Web.UI项目任一View页面添加下面链接代码,导航到Web.UI.Area1--> Area1Controller-->Index对应的View页面
          其中:Web.UI.Area1为Area的名称;Area1为Controller名称;Index为Action名称
        @Html.ActionLink("导航到Area1
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    L2-004. 这是二叉搜索树吗?*
    L2-001. 紧急救援(最短路的变形)*
    L2-002. 链表去重(数组模拟)
    L1-028. 判断素数
    Linux相关
    2016ICPC-大连 A Simple Math Problem (数学)
    2016ICPC-大连 Convex (几何)
    2016ICPC-大连 To begin or not to begin (简单思维)
    TC704div2 C ModEquationEasy 矩阵快速幂+dp
    poj 3150 Cellular Automaton 矩阵快速幂
  • 原文地址:https://www.cnblogs.com/gossip/p/3645041.html
Copyright © 2011-2022 走看看