似乎当我在 NavigateUrl 属性上的 asp:HyperLink 中输入希伯来语文本时,它被编码到其 UTF8 编码中,而不仅仅是向我显示希伯来语单词(就像在同一页面上的常规非 runat 服务器链接上一样)。
所以对于
<asp:HyperLink ID="hypID" runat="server" NavigateUrl="שלום" />
我得到
<a id="cphMiddle_repRightCol_hypCat_0" href="%d7%a9%d7%9c%d7%95%d7%9d">text</a>
在页面上输出,而不是
<a id="cphMiddle_repRightCol_hypCat_0" href="שלום">
text</a>
这能避免吗?
谢谢大家
作为一种解决方法,您可以尝试使用 HTML 控件等效项,该控件的限制较小:
<a runat="server" href="שלום" ..
编辑:另外,您是否为整个网站设置了正确的编码? 通过: http://msdn.microsoft.com/en-us/library/39d1w2xf.aspx
你是对的,NavigateUrl
将以 UTF8 编码网址。
您可以做的是完全省略 NavigateUrl 并使用 href 标签:
<asp:HyperLink ID="hypID" runat="server" href="שלום" Text="Link" />
这将呈现如下:
<a id="hypID" href="שלום">Link</a>
希望对你有帮助...ובהצלח׃