0

我正在使用 C# ASP.NET MVC,并希望使用存储在数据库中的 html 填充 DIV。我尝试了以下方法:

//getting a string of HTML from a database
@{
string myHtml = Model.Data.Html;
}

//Using Javascript to insert this into a Div
<script>
$("#myDiv").html("@myHtml");
</script>

div 用 html 填充,但它作为原始文本插入并显示所有 html 标记。我试过 .append 和 .html 无济于事。

任何帮助,将不胜感激。

4

3 回答 3

3

也许您想使用@Html.Raw()方法

$('#myDiv').html('@Html.Raw(myHtml)');

请小心,因为这可能是XSS 漏洞的一部分。不要直接将用户输入呈现为未编码的 HTML。(这正是 ASP.NET MVC 框架默认对输出进行 HTML 编码的原因,这就是您所看到的问题。)

于 2013-10-11T13:20:27.460 回答
0

尝试

 $("#myDiv").html('@Html.Raw(Model.Data.Html)')
于 2013-10-11T13:22:03.450 回答
0

如果您没有明确要求使用 Javascript 来执行此操作,只需使用 Html.Raw 内联输出未编码的 HTML。

<div id="myDiv">@Html.Raw(myHtml)</div>
于 2013-10-11T13:23:04.137 回答