ASP.NET中是否有这样的控件可以在运行时呈现HTML?

时间:2010-10-07 08:04:18

标签: c# asp.net html visual-studio-2008

就像下面的预览框一样,我们现在正在输入来自textarea的输入。

要求是检索保存在数据库中的HTML并在屏幕上预览它。我应该使用标签还是有更好的控制?

3 个答案:

答案 0 :(得分:4)

我会使用文字控件,除非你需要用html做“额外”的事情。

答案 1 :(得分:2)

我经常使用声明了runat =“server”属性的DIV。这样,我有一个容器来应用CSS类,我知道并且可以控制正在创建的标记。

如果您不需要容器(或者页面上已有容器),Literal将正常工作。

<div class="css-class">
    <asp:Literal runat="server" />
</div>

OR

<div runat="server" class="css-class" />

正如Oded所说,请通过清理HTML来注意XSS。

答案 2 :(得分:1)

如果您只需要输出HTML,请使用LiteralControl - 您只需将其Text属性设置为您需要的HTML。

您可能需要考虑清理HTML,如果它是用户输入的内容,只是在{+ 3}}攻击隐藏在您的HTML数据中。