如何使用C#从文本文件中正确显示HTML标记?

时间:2012-06-21 00:53:32

标签: c# asp.net html

所以现在我在C#中使用这样的东西:

Response.Write(Server.HtmlEncode(line));

这将从文本文件中获取一行并在屏幕上显示内容 - 它可以正常工作。我的目标是让文本文件中的行显示如下内容(文本文件行中的HTML格式):

<a href='http://www.url.com' target='_blank'>Link</a><br><br><!--info-->

很遗憾,出于某种原因,<>在转换为HTML之前正在转换为&lt;&gt;,这会将所有HTML代码公开为文本根本不起作用。我试过调查WebBrowser控件和东西,但我不明白我应该做什么。例如,我在网站上尝试过这个:

WebBrowser browser = new WebBrowser();
browser.Navigate("about:blank");
browser.Document.Write(Server.HtmlEncode(line));

......但它不起作用。我正在寻找一些非常简单的东西,如果可能的话,我可以模仿一个明确的例子。谢谢!我也一定会选择一个答案。

1 个答案:

答案 0 :(得分:3)

除此之外,您明确将<>括号编码为&lt;并且它是对应的,我没有看到任何错误。

删除Server.HtmlEncode()部分,它应该可以正常工作。

Response.Write(line);

Server.HtmlEncode()会将所有内容明确编码为所谓的“实体”,即&lt;代码。它通常用于保护自己免受用户输入的原始字符串的影响,该字符串不应修改您网站的行为。