zoukankan      html  css  js  c++  java
  • MVC 中的Areas支持

    在ASP.NET MVC 2中对于Area功能的增强,这样的增强是如何在同一个项目中更好地组织应用程序的?

      ASP.NET MVC 1.0时,如果我们要在一个项目中做自己网站的后台应用,而又保持URL的整洁性,是很困难的,那需要你自己做很多工作来,通过自有的方式实现Area的功能,效果可能还不那么好,因为默认情况下Controller是不区分命名空间的。例如:前台可能有这样的地址:http://testhost/News/List,而你希望在后台的News管理列表的Url是:http://testhost/admin/News/List,这几乎是不可能完成的任务,让我们非常困扰。

      ASP.NET MVC 2添加了Areas的支持,

    解决上述问题我们就可以添加一个Area,名字叫做admin,

    这时项目中就有了一个Areas文件夹,

    里面是admin文件夹,admin里面包含了Controllers、Models、Views三个目录和一个名叫的AreaRegistration.cs文件,

    然后我们在Global.asa.cs文件中的routes.MapRoute前加一行AreaRegistration.RegisterAllAreas();就搞定了。

    这样不同区域的应用在不同Area目录里进行独立的组织管理,相当不错。

    Global.asax

     protected void Application_Start()
     {
          
    //下面两行的顺序不要颠倒!!!
          AreaRegistration.RegisterAllAreas();
          RegisterRoutes(RouteTable.Routes);
     }

    注意:1、如果是修改项目,移动Controllers文件夹中的Controllers到Areas文件夹中时,需要修改所移动的Controllers的命名空间。

              2、注意Global.asax文件中不要多加那一句话(如下图:)

     public static void RegisterRoutes(RouteCollection routes)
     {
           
    //如果加了下面这句的话,系统会找不到的,
           
    //千万不能范的错误!!!!!
           routes.Clear();
     }

  • 相关阅读:
    我的浏览器收藏夹分类
    我的浏览器收藏夹分类
    Java实现 LeetCode 318 最大单词长度乘积
    Java实现 LeetCode 318 最大单词长度乘积
    Java实现 LeetCode 318 最大单词长度乘积
    Java实现 LeetCode 316 去除重复字母
    Java实现 LeetCode 316 去除重复字母
    Java实现 LeetCode 316 去除重复字母
    Java实现 LeetCode 315 计算右侧小于当前元素的个数
    Java实现 LeetCode 315 计算右侧小于当前元素的个数
  • 原文地址:https://www.cnblogs.com/lizhao/p/1990410.html
Copyright © 2011-2022 走看看