将HTML特殊字符转换为ASP.NET中的文本

3
我将如下绑定到 DropDownList;
Sub bindGalleries(ByVal catID As Integer)
    ddlGalleries.DataSource = Galleries.GetGalleries(catID)
    ddlGalleries.DataTextField = "GalleryName"
    ddlGalleries.DataValueField = "GalleryID"
    ddlGalleries.DataBind()
End Sub

列表中的一个项目是:“Kültür & Sanat”,在下拉列表中显示得很好。但是当我查看页面的源代码时,它是:Kültür & Sanat

我该如何使源代码与原始字符串完全相同?

注意:我的元标记是:在主页中。


我不确定,但无论你做什么,它在源代码中始终会显示为&。 - peroija
4个回答

2
这应该能给你所需的内容:
Server.HtmlDecode("Kültür & Sanat");

编写一个方法来“清理”DDL中的项目并将它们存储在一个数组中,然后只需绑定到该数组即可。

您可以以类似的方式填充DDL。


0

你可以使用反斜杠进行转义


0
你看到那些字符的原因是因为当它们保存到源代码中时被进行了 HTML 编码。例如:
YourSource = server.htmlEncode(value) 

或者

YourSource = server.urlEncode

您可以使用server.htmlDecode或省略server.htmlEncode将其保存为原始格式。


不,实际上这些值保存得很好,当以HTML形式呈现到页面上时,它们看起来也很好。但是当我查看源代码时,它们被编码了。我使用JavaScript获取该值并将其发送到HTTP处理程序。当它到达处理程序时,字符现在变成了钻石形状的小问号。所以,无论如何,我需要在绑定期间对它们进行解码?或者当它们到达我的ASHX文件时,我该如何解码这些钻石形状的字符? - Subliminal Hash
尝试使用 jQuery 检索下拉列表的值,就像链接中所示的方法一样? https://dev59.com/KHM_5IYBdhLWcg3w9oaG - Pinoy2015
你知道我怎样才能在第一时间防止页面呈现出那种情况吗? - Subliminal Hash

0
尝试在页面的标题部分放置适当的字符集。
例如:
<meta http-equiv="Content-Type" content="text/html; charset=utf-16"/>

这个不起作用。不知怎么的,我需要防止渲染那些特殊字符... - Subliminal Hash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接