ASP.NET MVC 網址包含「/」斜線
筆者碰到一個狀況是,URL帶入的參數是可能有「/」斜線的(使用者輸入)像是以下
1.運作正常
http://localhost:45405/Home/Product?name=HTC/M8/手機套
2.運作正常
http://localhost:45405/Home/Product?name=『抗漲』白人牙膏_特大號
到目前為止都還沒問題,但我們為了讓URL好看以及優化SEO,我們會做URL Rewriting像是以下
1: //商品
2: routes.MapRoute(
3: name: "Product",
4: url: "商品/{name}",
5: defaults: new { controller = "Home", action = "Product", name = UrlParameter.Optional });
1.錯誤
http://localhost:45405/商品/HTC/M8/手機套
2.運作正常
http://localhost:45405/商品/『抗漲』白人牙膏_特大號
這時候我們在路由name前方加個*就可以了。
1: //商品
2: routes.MapRoute(
3: name: "Product",
4: url: "商品/{*name}",
5: defaults: new { controller = "Home", action = "Product", name = UrlParameter.Optional });
如有錯誤還請各位先進前輩們不吝嗇的指教,謝謝。