从快速的调查来看,似乎ASP.NET正在用它的“低级”代码对其进行编码,所以没有直接的解决方案。
您只需使用自定义重复程序编写自己的项目符号列表:
<asp:Repeater id="rptLevelsList" runat="server">
<HeaderTemplate><ul></HeaderTemplate>
<FooterTemplate></ul></FooterTemplate>
<ItemTemplate>
<li><a href="<%# DataBinder.Eval(Container.DataItem, "Value") %>"><%# DataBinder.Eval(Container.DataItem, "Text") %></a></li>
</ItemTemplate>
</asp:Repeater>
并将其绑定到代码中:
List<ListItem> links = new List<ListItem>();
links.Add(new ListItem("my page", "Somepage.aspx"));
links.Add(new ListItem("×ש×× ××¢×ר×ת", "http://www.×ת××ת_××ש××_×××.com"));
rptLevelsList.DataSource = links;
rptLevelsList.DataBind();
注意,从我看到的情况来看,IE8仍然不支持非英语URL地址-上面的链接在浏览器中不可单击,而Chrome允许您单击它,但也将URL编码为其他内容。