【发布时间】:2010-10-07 08:04:17
【问题描述】:
就像下面的预览框一样,它从我们现在输入的文本区域获取输入。
要求是检索保存在数据库中的 HTML 并在屏幕上预览。我应该使用标签还是周围有更好的控制?
【问题讨论】:
标签: c# asp.net html visual-studio-2008
就像下面的预览框一样,它从我们现在输入的文本区域获取输入。
要求是检索保存在数据库中的 HTML 并在屏幕上预览。我应该使用标签还是周围有更好的控制?
【问题讨论】:
标签: c# asp.net html visual-studio-2008
除非您需要对 html 执行任何“额外”操作,否则我会使用文字控件。
【讨论】:
我经常使用声明了 runat="server" 属性的 DIV。这样,我就有了一个容器来应用 CSS 类,并且我知道并且可以控制正在创建的标记。
如果您不需要容器(或者页面上已有容器),文字将可以正常工作。
<div class="css-class">
<asp:Literal runat="server" />
</div>
或
<div runat="server" class="css-class" />
正如 Oded 所说,通过清理 HTML 来提防 XSS。
【讨论】:
如果您只需要输出 HTML,请使用 LiteralControl - 您只需将其 Text 属性设置为您需要的 HTML。
如果是用户输入的内容,您可能需要考虑清理 HTML,以防XSS 攻击隐藏在您的 HTML 数据中。
【讨论】: