C#ASP.NET:如何将文本转换为HTML

时间:2016-07-08 01:55:19

标签: c# html asp.net .net

如何将输出显示为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>是一张图片而不是文字)

2 个答案:

答案 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())))