WebForm 時代常透過 URL Rewrite 移除副檔名,MVC 預設路由亦不含副檔名。若需將 URL 固定為 .shtml 結尾(例:/Account/Login.shtml),直接修改路由範本即可:
routes.MapRoute(
"Default",
"{controller}/{action}.shtml",
new { controller = "Home", action = "Index", id = "" }
);
此時 Login.shtml 中的 Login 會正確對應至 {action} 參數,MVC 依然能找到 AccountController 的 Login Action。若需其他副檔名(.aspx、.html),僅需替換路由範本中的字串。
routes.IgnoreRoute 排除。