專案增長導致 Views 目錄下 Controller 文件夾爆炸:
Views/
Home/ Account/ Product/ Order/ Admin/ Report/ Settings/ ...
URL 也不美觀:/Admin/Index 實際映射 /Views/Admin/Index.aspx,缺乏模塊隔離。

Areas/
Admin/
Controllers/
HomeController.cs
UserController.cs
Views/
Home/ Index.aspx
User/ List.aspx
Models/
AreaRegistration.cs // 路由註冊
Frontend/
...
public class AdminAreaRegistration : AreaRegistration {
public override string AreaName => "Admin";
public override void RegisterArea(AreaRegistrationContext context) {
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new[] { "MyProject.Areas.Admin.Controllers" } // 命名空間約束
);
}
}
// Global.asax 統一註冊
AreaRegistration.RegisterAllAreas();
/Admin/Home/Index → Admin 區域/Frontend/Product/Detail/123 → Frontend 區域@Html.ActionLink("後台", "Index", "Home", new { Area = "Admin" }, null)