MVC3之区域注册(1)

MVC3是微软ASP.NET MVC框架最重要的一个版本,改进比较大,因为引入了非常有艺术人性化的Razor视图,给前端开发人员提高了开发效率,关于MVC3的教程,院子里面有很多人已经介绍过了,在这里就略过......

我们用MVC3进行了非常庞大的项目开发,这节的区域注册,可以说是在敏捷团队里面很重要的一部分,区域注册是MVC框架的特性,它目的就是把很多复杂的功能分成一些子系统,这样既方便管理,又方便测试,又易于分工合作,为了公司的利益,不能把开发的内容公布出来,我自己写了一个和项目一模一样的解决方案结构:

 

 MVC3之区域注册(1)

在门户下面就是对这些“子系统"进行区域注册,访问路劲就是"www.****.com/Area/Controller/Action"。

接下来在子系统的MVC子项目下创建一个类文件:

public class InventoryChangeAreaRegistration : AreaRegistration

    {

        public override string AreaName

        {

            get { return "First"; }

        }

        public override void RegisterArea(AreaRegistrationContext context)

        {

            context.MapRoute(

                "First_default",

                "First/{controller}/{action}/{id}",

                new { controller = "Home", action = "Index", id = UrlParameter.Optional },

                new string[] { "Manage.ABC.First.Controllers" }

            );

        }

    }

这段代码就是注册区域代码,注册后在系统执行的时候,就会根据相应的URL(Area/Conroller/Action)来访问指定的Action,由Action相应响应的页面。

AreaRegistration这个类是一个抽象类,提供了注册区域的方法和属性,这个类除了上面的一个方法一个属性外,还有非常重要的静态方法RegisterAllAreas,该方法在创建MVC时在global.asax.cs文件中,在HttpApplication 类的实例被创建时,执行Application_Start里面的代码,在这里面的代码中MVC默认写了一行

 AreaRegistration.RegisterAllAreas();//注册所有区域的方法 

在我创建的解决方案中,为了方便管理项目的结构:

一、创建主项目(门户)

二、在门户中添加区域
三、在创建子项目之前,需要到该项目下添加子项目名字的文件夹
四、在解决方案中再添加之前文件夹以及名字
五、在该文件夹下创建子项目,在创建子项目的时候,路径选择门户中的区域路径下
注意:命名空间是有规则的也就是在创建子项目的时候 名称要以MVC结尾,因为在同一个文件夹下,命名空间前面部分相同,MVC是子系统的开始,会创建DAL类库以及BLL类库。
六、在当前MVC下创建一个区域注册类,这个类必须继承自AreaRegistration类型,需要实现一个抽象属性和抽象方法 属性AreaName表示区域名称 RegisterArea 表示使用指定区域的上下文信息在 ASP.NET MVC 应用程序内注册某个区域,对注册区域所需的信息进行封装
 
最后在门户中添加该子系统的命名空间

 

 

 

你可能感兴趣的:(mvc)