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 }
);
}
注意:不推薦定義相同名稱的控制器。