返回顶部
首页 > 资讯 > 精选 >ASP.NET MVC 2中的Area特性是什么
  • 224
分享到

ASP.NET MVC 2中的Area特性是什么

2023-06-17 16:06:27 224人浏览 泡泡鱼
摘要

这篇文章主要讲解了“asp.net mvc 2中的Area特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.net MVC 2中的Area特性是什么”吧!没有Areas前相同问

这篇文章主要讲解了“asp.net mvc 2中的Area特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.net MVC 2中的Area特性是什么”吧!

没有Areas前相同问题的处理

在mvc1.0时代,如果要将网站按目录结构来区分。例如

WEBsite/Index  Admin/ Index  User/ Index  ……/……

通常都是在Views下面建立若干个和Controller相对应的目录,然后在里面放置aspx页面

Views\Website\Index  Views\Admin\Index  Views\User\Index  Views\.......\.......

这样建立若干个目录

其实这样也没什么不好,***不好的可能就是随着业务的需要,结构需求会越来越多,views目录下面的文件夹越来越多,更或者你需要更细结构的页面路径,例如:

Website/Product/Index  Website/Catalog/Index  Website/Contect/Index

当然,你可以用UrlRouteing或者ViewEngine搞定这些问题。但是毫无疑问,随着网站的运行日久,同一个Controller目录下的文件会越来越多,对于同一个Controller下的ActionResult的命名和UrlRouting里面的维护带来不小的麻烦。给管理带来不方便【个人理解】。

现在出Areas之后,这个问题有所缓解。还是如上的Url

Website\Product\Index  Website\Catalog\Index  Website\Order\Index  Website\Contact\Index

可以使用mvc2.0新增的Area来解决这个问题

建立项目

首先,用mvc2建立一个新项目,在网站根目录下建立Areas文件夹,在Areas文件夹建立你要区分的目录,例如本例的Website,然后继续在Website目录下增加Views目录,继续在views目录下增加需要分类管理Controller目录和建立aspx文件。使文件结构形成

Areas\Website\Views\Product  Areas\Website\Views\ Catalog  Areas\Website\Views\ Order  Areas\Website\Views\ Contact

ASP.NET MVC 2中的Area特性是什么

到原有默认的views目录将web.config复制到现在的新的views目录,你甚至现在可以把原有的views目录删除掉

建立Areas区域UrlRouting

随便找个地方,建立一个新的类,继承AreaReGIStration实现抽象类

修改Global.sas

protected void Application_Start()          {  AreaRegistration.RegisterAllAreas();  //注册区域Url规则,注意先后顺序  RegisterRoutes(RouteTable.Routes);          }

为区域页面建立Controller类

为区域页面建立Controller类没什么区别,可以建立在另外一个外部类库项目上,***需要注意的就是命名空间需要和注册Area规则的类的命名空间的前导一致。我们知道,在不使用Areas的时候Controller是不受namespace约束的。也就是说只要你有一个Controller名,而不管他在哪个命名空间下都是可以起作用的,如果我们在不同的命名空间建立2个相同的Controller类名,编译的时候不会出错,但是运行mvc网站的时候会提示存在2个相同的Controller类,系统不知道使用哪个。但是Areas却有所限制,他一定要命名空间的前导和AreaRegistration类得命名空间相同。例如:我建立的AreaRegistration网站项目命名空间为Valor.Asmyna.Areas.Website然后我将Controller分开作为一个独立的类库,如果我随便写一个命名空间空间,这个Controller对于Area里面的views是不起作用的,但是他却对原始Views目录的Controller起作用,只有将他的命名空间设置成Valor.Asmyna.Areas.Website.xxx.xxx的前导才起作用

namespace Valor.Asmyna.Areas.Website   {       public class HomeController : Controller       {   public ActionResult Index()          {              ViewData["title"] = "Website/Home/Index";              return View();          }      }  public class ProductController : Controller      {          public ActionResult Index()          {  ViewData["title"] = "Website/Product/Index";  return View();       }      }  public class ContentController : Controller      {          public ActionResult Index()          {    ViewData["title"] = "Website/Content/Index";      return View();          }   }  }

Ok,到浏览器测试一下看看

Area结构完全一致会出现的问题

我们继续在Area目录下增加一个Home目录,在他的Veiws目录下也增加三个相同的controller目录

ASP.NET MVC 2中的Area特性是什么

直接在刚才注册Website AreaRegistration命名空间为他注册一个Area规则,用默认系默认的Controller为Home.,

对2个路径进行访问:

/Website/Product

/Home/Product

这个时候controller对于这2个area目录的views都能起作用。在页面打印得到的结果一致

ASP.NET MVC 2中的Area特性是什么

显然这样是不对的.由此我们刚才想到Area的Controller的选择名命名空间限制问题。那我们他们分开来注册看看。修改Home区域的AreaRegistration的命名空间和在为HomeArea建立一个Controller类,使他们的命名空间一致。这次我们用Valor.Asmyna.Areas.Website

namespace Valor.Asmyna.Areas.Home{     public class HomeController : Controller      {         public ActionResult Index()          {              ViewData["title"] = "Home/Content/Index";              return View();          }   }  public class ProductController : Controller      {          public ActionResult Index()          {              ViewData["title"] = "Home/Content/Index";              return View();          }}      public class ContentController : Controller      {          public ActionResult Index()          {              ViewData["title"] = "Home/Content/Index";              return View();          }      }}  namespace Valor.Asmyna.Areas.Home  {      public class HomeController : Controller      {          public ActionResult Index()          {              ViewData["title"] = "Home/Home/Index";              return View();          }   }  public class ProductController : Controller{         public ActionResult Index()          {              ViewData["title"] = "Home/Product/Index";              return View();          }    }      public class ContentController : Controller      {          public ActionResult Index()          {              ViewData["title"] = "Home/Content/Index";              return View();          }      }  }

编译之后访问,各自分别为自己的Controller处理了

Home/Product

ASP.NET MVC 2中的Area特性是什么

Website/Product

ASP.NET MVC 2中的Area特性是什么

感谢各位的阅读,以上就是“ASP.NET MVC 2中的Area特性是什么”的内容了,经过本文的学习后,相信大家对ASP.NET MVC 2中的Area特性是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: ASP.NET MVC 2中的Area特性是什么

本文链接: https://lsjlt.com/news/290916.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ASP.NET MVC 2中的Area特性是什么
    这篇文章主要讲解了“ASP.NET MVC 2中的Area特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.NET MVC 2中的Area特性是什么”吧!没有Areas前相同问...
    99+
    2023-06-17
  • ASP.NET MVC 3中的Razor特性怎么使用
    本篇内容主要讲解“ASP.NET MVC 3中的Razor特性怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET MVC 3中的Razor特性怎么使用”吧!开工 目录...
    99+
    2023-06-17
  • ASP.NET MVC是什么
    本篇内容主要讲解“ASP.NET MVC是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET MVC是什么”吧!首先,我们来看Imar提供的程序,这是一个具有典型增删查改的程序,这...
    99+
    2023-06-17
  • ASP.Net Core MVC中间件是什么
    本篇内容介绍了“ASP.Net Core MVC中间件是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!讲中间件, 其...
    99+
    2023-06-29
  • ASP.NET MVC 3新特性与NuPack功能是怎样的
    这篇文章将为大家详细讲解有关ASP.NET MVC 3新特性与NuPack功能是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。NuPack ; .NET的开源软件包管理器NuPack是...
    99+
    2023-06-17
  • ASP.NET中 MVC与WebForm的区别是什么
    这篇文章给大家介绍ASP.NET中 MVC与WebForm的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。ASP.NET MVC与WebForm区别谈使用ASP.NET MVC框架,创建默认项目,***直观感...
    99+
    2023-06-17
  • ASP.NET MVC 2.0框架的原理是什么
    ASP.NET MVC 2.0框架的原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用微软VS工具开发Web应用程序主要有两种方式:一种是常用的创建ASP.NET W...
    99+
    2023-06-17
  • ASP.NET和XML Web Services共同特性是什么
    本篇内容主要讲解“ASP.NET和XML Web Services共同特性是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET和XML Web Services共同特性是什么”吧!...
    99+
    2023-06-17
  • ASP.NET MVC框架的使用方法是什么
    ASP.NET MVC框架的使用方法如下:1. 创建ASP.NET MVC项目:打开Visual Studio,选择“创建新项目”,...
    99+
    2023-10-10
    ASP.NET MVC
  • ASP.NET MVC中两个配置文件的作用是什么
    小编给大家分享一下ASP.NET MVC中两个配置文件的作用是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前言在新建完一个MVC项目之后,你会发现整个整个项目结构中存在有两个web.config文件,如下图...
    99+
    2023-06-29
  • Python3.1中的特性是什么
    这篇文章给大家分享的是有关Python3.1中的特性是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、千位数格式化在格式化大数时,通常是每三位数放置逗号,使数字更易读(例如,1,048,576 比 1048...
    99+
    2023-06-15
  • ASP.NET中AutoEventWireup属性的作用是什么
    AutoEventWireup属性是ASP.NET中的一个页面级别的属性,用于指定是否自动将事件与事件处理程序进行关联。当AutoE...
    99+
    2023-09-21
    ASP.NET
  • ASP.NET MVC过滤器执行顺序是什么
    小编给大家分享一下ASP.NET MVC过滤器执行顺序是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!规则一:不同类型的过滤器有一个先后顺序即执行顺序是:授权过滤器->动作过滤器->结果过滤器-&...
    99+
    2023-06-29
  • MySQL中ICP的特性是什么
    MySQL中ICP的特性是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、ICP简述ICP:全称为Index Condition Pus...
    99+
    2024-04-02
  • Vue3中的Hook特性是什么
    这篇文章主要讲解了“Vue3中的Hook特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3中的Hook特性是什么”吧!Hook 的概念Hook...
    99+
    2024-04-02
  • css3中的新特性是什么
    这篇文章给大家分享的是有关css3中的新特性是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。css的基本语法是什么css的基本语法是:1、css规则由选择器和一条或多条声明两个部分构成;2、选择器通常是需要改...
    99+
    2023-06-14
  • CSS中的@property特性是什么
    小编给大家分享一下CSS中的@property特性是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是csscss是一种用来表现HTML或XML等文件样式的...
    99+
    2023-06-14
  • python中 input()的特性是什么
    本篇文章给大家分享的是有关python中 input()的特性是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python主要用来做什么Python主要应用于:1、Web开...
    99+
    2023-06-14
  • Vue3中的watchEffect特性是什么
    watchEffect 是 Vue3 中提供的一个新特性,用于监听响应式数据的变化,并在数据发生变化时执行指定的回调函数。与 Vue2 中的 watch 不同,watchEffect 不需要指定要监听的数据,而是会自动追踪函数中使用的响应式...
    99+
    2023-05-20
    Vue3 watcheffect
  • js中的MVC是什么
    本篇内容主要讲解“js中的MVC是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js中的MVC是什么”吧!MVC是什么?MVC是一种架构模式,它将应用抽象为...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作