ASP.NET MVC URL解码

Bry*_*yan 10 url asp.net-mvc decode

我有这样的动作:

<%=Html.ActionLink("My_link", "About", "Home", new RouteValueDictionary { 
    { "id", "Österreich" } }, null)%>
Run Code Online (Sandbox Code Playgroud)

这会产生以下链接:http:// localhost:1855/Home/About /%C3%96sterreich

我想要一个看起来像这样的链接 - localhost:1855/Home/About /Österreich

我试过了.

Server.HtmlDecode("Österreich")
HttpUtility.UrlDecode("Österreich") 
Run Code Online (Sandbox Code Playgroud)

似乎都没有帮助.还有什么可以尝试获得我想要的结果?

Mar*_*rek 4

我认为这是您的浏览器(IE)的问题。

\n\n

您的代码是正确的,不需要显式的 UrlEncoding。

\n\n
<%=Html.ActionLink("My_link", "About", "Home", new RouteValueDictionary { \n{ "id", "\xc3\x96sterreich" } }, null)%>\n
Run Code Online (Sandbox Code Playgroud)\n\n

ASP.NET MVC 没有任何问题。查看网络上的 unicode url,例如IE 中的http://he.wikipedia.org/wiki/%D7%9B%D7%A9%D7%A8%D7%95%D7%AA以及处理 unicode 的浏览器网址正确。

\n\n

例如,chrome 显示 unicode URL 没有任何问题。IE 不会解码地址栏中的“特殊”unicode 字符。

\n\n

这只是一个外观问题。

\n