ASP.NET具有内置的请求验证功能,可自动帮助防止XSS和HTML注入攻击.如果要显式禁用此验证,可以使用以下[ValidateInput(false)]
属性修饰要发布到的操作:
[HttpPost] [ValidateInput(false)] public ActionResult SaveArticle(ArticleModel model) { var JResult = new JsonResult(); if (ModelState.IsValid) { ... } return JResult; }
此外,如果您在ASP.NET 4.0上运行此命令以使此属性生效,则需要将以下内容添加到web.config:
如果您使用的是ASP.NET MVC 3.0,则只能在模型上修饰需要具有以下[AllowHtml]
属性的HTML的属性:
public class ArticleModel { [AllowHtml] public string SomeProperty { get; set; } public string SomeOtherProperty { get; set; } }
同样在你的javascript函数中你可能想要serialize()
而不是serializeArray()
:
function JqueryFromPost(formId) { var form = $(formId); $.post(form.action, form.serialize(), function (data) { //Getting the data Result here... }); }