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中添加以下内容:
<httpRuntime requestValidationMode="2.0" />
而且,如果您使用的是ASP.NET MVC
3.0,则可以在需要HTML的模型上仅装饰带有
[AllowHtml]属性的属性:
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... });}


