Area区域

时间:2023-03-08 21:44:46

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 }
);
}

注意:不推荐定义相同名称的控制器。