【问题标题】:Insert html tag to a Database as a String and retrieve it back and show the html将 html 标记作为字符串插入数据库,然后将其取回并显示 html
【发布时间】:2026-01-28 03:50:01
【问题描述】:

我想将 html 标记作为字符串插入数据库并将其检索回来。检索后,我想显示html标签的相应输出

例如:string table="

  <table class="restbl">
    <tbody>
        <tr><th class="date">Date</th><th>Event</th><th>Host/City</th><th class="ven">Venue</th></tr>
        <tr><td class="date">Sun 11-Aug-2013</td><td>New Member Orientation Seminar</td><td >Koothattukulam</td><td class="ven"></td></tr>

   </tbody>
</table>"

怎么可能。检索后没有显示相应的表格。

【问题讨论】:

  • 你的意思是它没有呈现为 HTML?

标签: c# sql html asp.net-mvc-4


【解决方案1】:

假设您有一个视图模型,并且在 Text 属性中您从数据库中检索了 HTML 值:

public class MyViewModel
{
    public string Text { get; set; }
}

现在在您看来,您可以使用 @Html.Raw 帮助器来避免输出被自动 HTML 编码:

@model MyViewModel
@Html.Raw(Model.Text)

不用说,如果您在输出用户输入之前没有对用户输入进行清理,那么这样做会使您的网站受到 XSS 攻击。例如,您可以使用 AntiXSS 库。

【讨论】:

    【解决方案2】:

    您可以使用此代码

    using System.Net;
    
    string a = WebUtility.HtmlEncode("<html><head><title>T</title></head></html>");
    string b = WebUtility.HtmlDecode(a);
    

    【讨论】: