我正在使用带有 webmatrix 的 cshtml 页面,我试图渲染存储在我的数据库中的 html,但输出就像<b>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </b>
代替Lorem ipsum dolor sat 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 敏感字符的编码。如果您的变量(或方法调用等)返回包含 HTML 标记的字符串,并且您希望浏览器呈现该标记,请将该字符串包装在 MvcHtmlString 中。
其中任何一个都可以:
@Html.Raw(row.header)
@(new MvcHtmlString(row.header))
@MvcHtmlString.Create(row.header)
请注意,这将使浏览器暴露于值中包含的任何 HTML 标记。仅当数据经验证仅包含安全标记、不包含脚本等时才应使用此方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)