[英]can't pass html tags in parameters in $.post()
我在具有telerik radeditor的MVC 4中使用userControl。 我想通过操作方法提交radeditor的内容,但是如果我使用editor.get_html(),则代码不会执行。
对action方法的javascript调用如下:
function Save() {
var editor = $find("<%=radEdit.ClientID%>");
var editorHtmlContent = editor.get_html();
var entityId = document.getElementById('hdEntityId').value;
var url = '<%=Url.Action("SaveNote", "staticController")%>';
$.post(url, { EntityId: entityId, Desc: editorHtmlContent }, function (result) { });
}
有什么线索吗?
发布HTML标签被认为是安全威胁(HTML注入和跨站点脚本(XSS)),因此默认情况下将其阻止。 您有三种解决方法:
如果您具有强类型化的模型类并想要获取实际的HTML,则可以使用AllowHtmlAttribute
:
public class XMLModel { public int EntityId { get; set; } [AllowHtml] public string Desc { get; set; } }
最后一个选项是禁用整个操作的输入验证,这可以通过ValidateInputAttribute
完成:
[ValidateInput(false)] [HttpPost] public ActionResult SaveNote(...) { ... }
您应该选择最适合您的选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.