MVC Area 技術的使用
此文章經由 step by step 來介紹如何使用Area技術。
於專案按右鍵來加入Area
Area name 就以「MyArea」為範例
當建好 Area 時,會生成 Areas 底下資料夾
來看一下 MyAreaAreaRegistration.cs 裡的內容
using System.Web.Mvc;
namespace WebApplication1.Areas.MyArea
{
public class MyAreaAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "MyArea";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"MyArea_default",
"MyArea/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}
於 MyArea 底下新增一個 DefaultController
其 DefaultController 的 Action 名為 Index,所對應的 View 也一併新增
來看 MyArea 底下的 _Layout.cshtml
會發現這一段
@Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
其 routeValues 為 new { area = "" } 表示此連結會連出去到如 http://localhost:44316/Home/Index。
另外,如何外面連到area裡面的頁面呢?
則應該改成如下樣式
@Html.ActionLink("Application name", "Index", "Default", new { area = "MyArea" }, new { @class = "navbar-brand" })
就可連到 http://localhost:44316/MyArea/Default/Index。
使用區域技術的網頁成功畫面如下
有關 Area 的使用還有另一篇延伸文章 MVC Area技術的使用-同名Controller處理方法