我需要从sql server数据库中读取数据 - 它有一个xml类型的列。我必须将数据绑定到datalist中的标签,如下所示
<ItemTemplate>
<strong>PostedXml: </strong>
<asp:Label ID="PostedXmlLabel" runat="server" Text='<%# Eval("PostedXml") %>' />
</ItemTemplate>
读取数据时,标签不会显示。只有值才会呈现。我们如何在标签控件上显示带有标签的完整xml?
感谢
答案 0 :(得分:1)
理想情况下,您应该能够Encode
XML,以便在屏幕标记上呈现所有内容。
尝试替换
Text='<%# Eval("PostedXml") %>'
用
Text='<%# System.Web.HttpUtility.HtmlEncode((string)Eval("PostedXml")) %>'
或者,如果您正在使用VB,请尝试以下操作:
Text='<%# System.Web.HttpUtility.HtmlEncode(DirectCast(Eval("PostedXml"), String)) %>'
答案 1 :(得分:0)
有一个XML控件
<asp:xml>
您可以使用而不是Label,但它需要使用XSLT进行格式化。
另一种选择是使用<asp:Literal>
控件或<asp:Text>
,这将需要对xml进行编码。使用Server.HtmlEncode
。