ASP.NET MVC 內建靈活的 URL 路由系統,允許開發者在應用程式中定義 URL 對應規則。路由系統有兩大主要目的:
透過集中管理 URL 對應規則,未來若需變更網站 URL 結構(例如將 /Products 改為 /Catalog),只需修改應用層級的對應規則,無須更動 Controller 或 View 程式碼。
使用 Visual Studio 建立 ASP.NET MVC 專案時,Global.asax 會自動註冊預設路由:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
此規則將 URL 依序對應至 Controller 名稱、Action 名稱與選用參數 id。若 URL 為 /Products/List/Beverages,則對應至 ProductsController.List("Beverages")。
路由系統支援條件約束、命名空間隔離、區域等進階案例。此外,ASP.NET MVC 設計為易於測試,開發者可編寫單元測試驗證路由規則是否正確導向預期的 Controller 與 Action,確保重構時不破壞既有 URL 結構。