【问题标题】:Is there such a control in ASP.NET that can render HTML during runtime?ASP.NET 中是否有这样的控件可以在运行时呈现 HTML?
【发布时间】:2010-10-07 08:04:17
【问题描述】:

就像下面的预览框一样,它从我们现在输入的文本区域获取输入。

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

【问题讨论】:

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


    【解决方案1】:

    除非您需要对 html 执行任何“额外”操作,否则我会使用文字控件。

    【讨论】:

    • asp.net 文字更好地控制呈现 HTML
    【解决方案2】:

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

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

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

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

    正如 Oded 所说,通过清理 HTML 来提防 XSS。

    【讨论】:

      【解决方案3】:

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

      如果是用户输入的内容,您可能需要考虑清理 HTML,以防XSS 攻击隐藏在您的 HTML 数据中。

      【讨论】:

        猜你喜欢
        • 2011-04-18
        • 1970-01-01
        • 2016-02-23
        • 1970-01-01
        • 2021-01-14
        • 1970-01-01
        • 2016-11-23
        • 2023-03-09
        相关资源
        最近更新 更多