.html 和 .append 不对来自 C# 的动态 HTML 进行编码
.html and .append not encoding dynamic html from c#
我正在使用 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 无济于事。
任何帮助将不胜感激。
也许你想使用@Html.Raw()
方法?
$('#myDiv').html('@Html.Raw(myHtml)');
请注意,因为这可能是 XSS 漏洞的一部分。 不要直接将用户输入呈现为未编码的 HTML。 (这正是 ASP.NET MVC Framework HTML 编码输出默认的原因,这就是您看到的问题。
试试
$("#myDiv").html('@Html.Raw(Model.Data.Html)')
如果您没有明确要求使用 Javascript 来执行此操作,只需使用 Html.Raw 以内联方式输出未编码的 HTML。
<div id="myDiv">@Html.Raw(myHtml)</div>
相关文章:
- 如何使Javascript动态html表及其上的事件
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- Rails:如何在浏览器中显示动态html内容,而不会对其进行转义,也不会引起XSS攻击
- 如何使用jQueryAjax使用动态html输入texbox提交表单
- 使用Kendo的动态HTML元素绑定
- 使用jquery插入动态HTML后,单击不起作用
- jQuery.tmpl没有呈现动态html
- 使用jquery从JSON数据生成动态html
- jQuery自动完成显示不需要的动态html标记
- 使用JavaScript制作动态HTML页面以重定向到URL
- 在angular中,使用ng repeat生成动态html内容
- Dynatable与动态HTML标头断开
- 如何使用jQuery读取动态html表行
- 将点击函数添加到动态 HTML 链接
- 使用 Javascript 的动态 HTML:用不同的内容填充相同的 HTML 对象
- 如何在创建动态 HTML 页面时使用日期选择器
- 动态HTML元素-如何将表单提交到php
- JavaScript确认何时在表单中选择动态HTML字段
- 动态html表,但表头位于底部
- 如何在另一个java脚本函数中访问java脚本中动态html表中单元格的动态赋值