我在数据集中有一些字符串值。在我的复合控件中,在RenderContent中,我使用span标签将数据集值添加到html表格单元格。它工作得很好,直到我的数据集中有一个xml字符串。
在我的RenderControl中,我的代码类似于:
output.Write(@"<span id=""valueSpan{0}"" action=""edit"" type=""text"">{1}</span>", this.ID + row["ID"], row["Value"]);
row [“Value”]包含字符串值:
<?xml version="1.0" encoding="utf-8"?><testdata>need to display this xml string in span</testdata>
我看到的结果是“需要在span中显示此xml字符串”,而不是将XML数据显示为“<?xml version="1.0" encoding="utf-8"?><testdata>need to display this xml string in span</testdata>
”。我想我需要让html知道这只是一个价值。但是如何???
答案 0 :(得分:1)
您需要转义<
和>
个字符,将其转换为相应的字符实体<
和>
。使用Server.HtmlEncode()为您执行此操作:
output.Write(
@"<span id=""valueSpan{0}{1}"" action=""edit"" type=""text"">{2}</span>",
this.ID, row["ID"], Server.HtmlEncode(row["Value"].ToString())
);
(另请注意,我删除了连接this.ID + row["ID"]
以支持string.Format()样式语法。)
答案 1 :(得分:1)
您似乎正在使用C# 我认为您应该使用HtmlEncode对XML数据进行编码,以便您能够显示它。 http://msdn.microsoft.com/en-us/library/w3te6wfz.aspx
答案 2 :(得分:0)
您是否尝试过转发&lt;&gt;将字符添加到字符串之前的字符。 (转义码是&lt;和&gt;