在 ASP.NET WebForm中不少人做過通過Url重寫使Url中不帶後綴,這次我們做的正好相反。假設我們需要將URL後綴設置成shtml,以新建ASP.NET MVC項目時默認的項目為例。如果要訪問登陸頁,則URL為http://localhost/Account/Login,Account匹配Account Controller,Login匹配Login Action。如果我們要將URL改為http://localhost/Account/Login.shtml,在不改變Route的情況下Action變成了Login.shtml,顯然無法找到這個Action,所以就出現了404錯誤,我們要做的就是將Action仍然解析為Login,所以我們將默認的Route改成
1routes.MapRoute( 2 "Default", 3 "{controller}/{action}.shtml", 4 new{controller="Home",action="Index",id=""}
此時,Login.shtml中的login正好對應{action}所以就會調用Account controller中的login action,也就達到了我們的目的。如果要使用其他後綴,只需要將.shtml改為.aspx或.html即可。