博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC3中在同一解决方案的不同项目中实现Area功能
阅读量:5929 次
发布时间:2019-06-19

本文共 1276 字,大约阅读时间需要 4 分钟。

 

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.UI\bin
          xcopy /r /y $(TargetDir)*.pdb  $(SolutionDir)\Web.UI\bin
  
    2.5 在 Web.UI项目任一View页面添加下面链接代码,导航到 Web.UI.Area1-->  Area1Controller-->Index对应的View页面
      其中: Web.UI.Area1为Area的名称;Area1为Controller名称;Index为Action名称
    @Html.ActionLink(" 导航到Area1 , 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

转载地址:http://hcktx.baihongyu.com/

你可能感兴趣的文章
zabbix3.0.4通过自定义shell脚本添加对关键日志文件的监控
查看>>
ACM-ICPC训练行动路线图
查看>>
C# 导出word文档及批量导出word文档(1)
查看>>
jquery隐藏表格的某列
查看>>
数据的存储
查看>>
cocoaPod的使用
查看>>
举例:join的用法 XXX.join(YYY)
查看>>
扩展lucas定理
查看>>
CodeForces - 896A Nephren gives a riddle
查看>>
input添加邮箱的时候自动显示后缀
查看>>
Hibernate 3.0 延迟加载的问题
查看>>
图解CSS3----盒子模型
查看>>
重读金典------高质量C编程指南(林锐)-------第七章 内存管理
查看>>
99%的人连Where are you from都不会回答?
查看>>
性能测试学习路线图
查看>>
求素数
查看>>
jsp 获取ip
查看>>
向Word模板中填充数据
查看>>
RunLoop
查看>>
fcitx3.6.2 make error!error:(转)
查看>>