如何将输出显示为HTML。我尝试过HTML解码,但它仍然没有用。
@section Grid {
@Server.HtmlDecode(lister.gen(new System.IO.StreamReader(Server.MapPath("~/Grid.xml")).ReadToEnd()))
}
编辑:我正在从output.InnerXml
(XML文档)中获取XML并尝试将其作为HTML放入HTML文档中(与<a>
中的链接一样,<img>
是一张图片而不是文字)
答案 0 :(得分:0)
如果要在HTML页面中显示HTML,则需要使用HTML编码,而不是解码。这将使适当的标签转入&lt;和&gt; (和其他HTML元素。
由于评论而增加: 如果显示XML AS HTML是目标,那么您将最终从DOM中提取XML并将其置于您想要的格式中。如果您只是尝试将XML绑定到网格中,则可以将XML绑定到表。如果您需要排序等,LINQ to XML可以很好地工作。
ADDED - 第二次修改 您的XML似乎是XHTML,因此您只需将其放入正确位置的流中即可。我将创建一个服务器控件,然后Response.Write来自服务器控件的XML。您将需要基于您发布的内容的解码版本。我假设你想在页面中显示XML,这是不正确的。
XML存在一个小问题,因为它包含锚标记内的段落和div标记。不违法,但在这种情况下不是必需的。
答案 1 :(得分:0)
事实证明我必须添加@Html.Raw
以及HtmlDecode
才能正确显示
@Html.Raw(Server.HtmlDecode(lister.gen(new System.IO.StreamReader(Server.MapPath("~/Grid.xml")).ReadToEnd())))