使用ASP.net MVCJQuery将HTML标签(代码)作为字符串发布
|
我试图通过一个MVC模型发布一个表单到一个控制器中的保存功能。我也在客户端使用tinymce,这会产生一个基于HTML代码的字符串,例如< p>内容文字blah blah …< / p> ;. 问题是我不能发布包含< p>某事< / p>但令人惊讶的是, p>某事/ p>这个字符串(在“<”之后的空格)没有问题。但是,我不能在每次发布之前处理这个html代码并使这些空格。必须有一个更好的方法。 那么,如何通过$ .post方法发布包含HTML代码的字符串? (如果你必须知道,这个项目是一个内容管理系统,所以我必须将基于HTML的内容文本保存到一个SQL表中。)我看到通过调试,后期操作甚至没有达到Controller,我认为这个是一个唯一的javascript问题,我是对的吗? 这是我正在使用的代码:
function JqueryFromPost(formId) {
var form = $(formId);
var action = form.attr("action");
var serializedForm = form.serializeArray();
$.post(action,serializedForm,function (data) {
//Getting the data Result here...
});
}
CS代码
[HttpPost]
public JsonResult SaveArticle(ArticleModel model)
{
JsonResult JResult = new JsonResult();
if (ModelState.IsValid)
//I do the saving here ending with "JResult.Data = "Success";" (this could also be Failed. So,its just to explain)
return JResult;
}
解决方法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,则只能使用 public class ArticleModel
{
[AllowHtml]
public string SomeProperty { get; set; }
public string SomeOtherProperty { get; set; }
}
另外在你的javascript功能你可能想要 function JqueryFromPost(formId) {
var form = $(formId);
$.post(form.action,form.serialize(),function (data) {
//Getting the data Result here...
});
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-5 – 在MVC 5的IPasswordStore中,SetPasswordH
- ASP.NET页面生命周期解释
- 动态渲染asp:从ASP.NET中的BLOB条目的图像
- asp.net fileupload控件上传文件与多文件上传
- asp.net-mvc – 使用MVC的AuthorizeAttribute和多组角色?
- asp.net – 如何使用占位符属性与Html.EditorFor?
- VS 2015 CTP 6 Nuget Package Source
- asp.net-mvc – 属性级验证错误阻碍了类级验证的验证
- ASP.net vnext依赖注入
- 非常非常简单的asp.net页面需要永远加载
- asp.net – 我可以使用Chrome DevTools在客户端查
- asp.net-mvc – 使用Web Deploy发布ASP.NET MVC2
- asp.net – 使用jQuery以编程方式触发JavaScript
- ASP.net webforms中的异步页面处理示例(.NET 2.0
- asp.net-mvc – Asp.net内核MVC post参数始终为n
- 动态数据 – ASP.NET动态数据向页面添加其他过滤
- asp.net-mvc – ASP.Net MVC 2验证是否需要更多的
- asp.net-mvc – 使用ASP.NET MVC测试驱动的开发
- 将ASP.NET updatepanel与jQuery UI DatePicker结
- asp.net – 前端头还是后端?
