Asp.net-Mvc
內置方法對從 Url.Action 返回的 url 中的 & 符號進行編碼?
我正在使用 Url.Action 在具有 XHTML 嚴格文件類型的站點上生成帶有兩個查詢參數的 URL。
Url.Action("ActionName", "ControllerName", new { paramA="1" paramB="2" })生成:
/ControllerName/ActionName/?paramA=1¶mB=2但我需要它來生成帶有&符號轉義的url:
/ControllerName/ActionName/?paramA=1&paramB=2Url.Action 返回帶有 & 符號的 URL 未轉義的事實破壞了我的 HTML 驗證。我目前的解決方案是手動替換從 Url.Action 返回的 URL 中的 & 與轉義 & 符號。這個問題有內置的或更好的解決方案嗎?
這對我有用:
Html.Raw(Url.Action("ActionName", "ControllerName", new { paramA="1" paramB="2" }))
您不能使用 Server.HtmlEncode() 的任何原因
string EncodedUrl = Server.HtmlEncode(Url.Action("Action", "Controller", new {paramA = "1", paramB = "2"}));