ASP.NET Core MVC (.NET 6) Area 設定注意事項

在新版 Core MVC 直接在Program.cs 進行初始化:

var app = builder.Build();

所有設定都建立在 app 之中, 設定路由改為:

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

其實和以前 UseEndpoints 差不多, 要加入 Area 先增加一個萬用路, 然后再加入特定區域:

 app.MapAreaControllerRoute(
       name: "admin",
       areaName: "admin",
       pattern: "admin/{controller=Home}/{action=Index}"
   );

app.MapControllerRoute(
    name: "areaRoute",    
    pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

在 Area 的 Controller上加 [Area("xxxx")] 屬性 (Attribute)

 [Area("admin")]
 public class HomeController : Controller
 { 
     public ActionResult Index()
     {
         return RedirectToAction("Login");
     }
 }

Posted

in

by

Tags:

Comments

發表留言