我有这样的动作:
<%=Html.ActionLink("My_link","About","Home",new RouteValueDictionary { { "id","Österreich" } },null)%>
这产生以下链接:http://localhost:1855/Home/About/%C3%96sterreich
我想要一个看起来像这样的链接 – localhost:1855 / Home / About /Österreich
我努力了.
Server.HtmlDecode("Österreich") HttpUtility.UrlDecode("Österreich")
似乎也没有帮助.还有什么可以尝试得到我想要的结果?
解决方法
我认为这是您的浏览器(IE)的一个问题.
您的代码是正确的,因此不需要显式的UrlEncoding.
<%=Html.ActionLink("My_link",new RouteValueDictionary { { "id",null)%>
ASP.NET MVC没有任何问题.请参阅网路上的unicode网址,例如http://he.wikipedia.org/wiki/%D7%9B%D7%A9%D7%A8%D7%95%D7%AA在IE和浏览器正确地处理unicode的URL.
例如. chrome显示unicode网址,没有任何问题. IE不解码地址栏中的“特殊”unicode字符.
这只是一个化妆品问题.