ASP.NET MVC3/Razor。MVC3 URL編碼?
我發現,當我創建一個操作環節,比方說,像這樣:
@Html.ActionLink(product.Title, "Detail", "Products", new { id = product.ProductID }, null)
的MVC3引擎創建我的產品鏈接。例如:
http://myhost/{ActionUrl}/PRODID
但是,如果我的產品ID包含任何特殊字符,則它不會被URL編碼。
http://myhost/{ActionUrl}/PROD/ID
當然,這打破了我的路由。 我的問題是:
- 我應該期望它能自動對URL進行編碼嗎?有什麼辦法可以設置它嗎?
- 如果不是,那麼對它們進行編碼和解碼的最簡潔的方法是什麼?我真的不想在每個控制器中這樣做。
謝謝!
我花了一段時間才意識到,但你的回答完全正確。某些字符就像保留的關鍵字,你無法做任何事情。對於其他人,你可以做怪異的事情,甚至可以使用全路徑,但一些特殊字符只能保持這種方式(除非你想用正則表達式重寫)。 – Alpha
那麼作爲查詢字符串的代碼是什麼? –