从 sql 渲染 html - webmatrix

Render html from sql - webmatrix

我正在使用带有 webmatrix 的 cshtml 页面,我正在尝试呈现存储在我的数据库中的 html,但输出类似于 <b>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </b> 而不是Lorem ipsum dolor sit amet, consectetur adipiscing elit。(这只是一个解释正在发生的事情的例子)

我正在以 ntext 数据类型存储。

这是我的代码。

  @{
   var db = Database.Open("myDB");
   var selectQueryString = "SELECT * FROM noticias ORDER BY id";
   }
 <!DOCTYPE html>
   <html lang="en">
      <head>
         <meta charset="utf-8" />
         <title></title>
          <style>
           p {color: #f00;}
         </style>
     </head>
     <body>

        @foreach(var row in db.Query(selectQueryString)){

               <p>@row.header</p>
               <p>@row.description</p>

       }

    </body>
  </html>

带“@”的语法自动应用 HTML 个敏感字符的编码。如果您的变量(或方法调用等)returns 包含 HTML 标记的字符串并且您希望浏览器呈现该标记,请将字符串包装在 MvcHtmlString 中。

以下任何一个都可以:

@Html.Raw(row.header)
@(new MvcHtmlString(row.header))
@MvcHtmlString.Create(row.header)

请注意,这会将浏览器暴露给值中包含的任何 HTML 标记。仅当验证数据仅包含安全标记、不包含脚本等时才应使用此方法。