Area区域
Posted 再叙。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Area区域相关的知识,希望对你有一定的参考价值。
1.mvc4.0新增的area区域机制,可以协助你在架构较为大型的项目,让独立性较高的部分功能独立成一个MVC子网站,以降低网站与网站之间的耦合性,也可以通过area的切割,让多人同时开发同一个项目时候,能够减少互相冲突的机会。在MVC项目中是不允许有两个同名的控制器的。
比如说就是你在做网站时,你有首页了,但是你要想有别的栏目,那么这时Area就有用处了,可以通过跳转链接来访问你所想要去的子栏目。
在某个区域下如果需要访问区域外部的页面,我们可以使用html.RouteLink方法来生成跳转链接。
我们可以在同一个项目内就能够切分不同的mvc网站,且每一个子网站都会有完整的mvc目录结构在开发时,就像是区分成不同的mvc网站一样
建立区域:
右键点击解决方案管理器,然后添加区域,这个区域的名字就是你子栏目的名字,完事后你就会发现出现一个文件夹,这个文件夹就跟你的MVC项目几乎一样,当然你能创建一个那就可以在Area中多建立几个子栏目(区域),然后在这个区域中添加一个控制器,接下来就是来跳转到你想要显示的页面了。
例如:在Admin区域下,如果需要访问区域外部的页面,我们可以使用Html.RouteLink方法来生成跳转链接。
@Html.RouteLink("显示的内容", "路由名称", new { controller = "控制器名称", action = "Action名称" })//这个是在你想显示的页面中的视图中写的例如在Index的视图中。
路由名称:你想显示的子页面中的 “子项目名AreaRegistration.cs” 中的 "Admin_default" .
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
注意:不推荐定义相同名称的控制器。
以上是关于Area区域的主要内容,如果未能解决你的问题,请参考以下文章
Linux 内核 内存管理分区伙伴分配器 ② ( free_area 空闲区域结构体源码 | 分配标志位 | GFP_ZONE_TABLE 标志位区域类型映射表 |分配标志位对应的内存区域类型 )
Linux 内核 内存管理内存映射相关数据结构 ⑥ ( 文件映射 虚拟内存区域 | vm_area_struct | vm_operations_struct | 匿名映射 虚拟内存区域 )