Jquery 带有formcollection序列化的tinymce文本编辑器
谁能告诉我如何使用formcollection.serialize方法序列化tinymce文本编辑器内容?? 我尝试使用:Jquery 带有formcollection序列化的tinymce文本编辑器,jquery,ajax,asp.net-mvc-5,tinymce,Jquery,Ajax,Asp.net Mvc 5,Tinymce,谁能告诉我如何使用formcollection.serialize方法序列化tinymce文本编辑器内容?? 我尝试使用: tinyMCE.init({ 选择器:“文本区域” }); $(“#btnEmail”)。单击(函数(){ tinyMCE.triggerSave(); $.ajax({ url:“@url.Action”(“电子邮件”)”, 类型:“POST”, 数据:$(“#emailform”).serialize(),//+“&emailContent=emailContent”,
tinyMCE.init({
选择器:“文本区域”
});
$(“#btnEmail”)。单击(函数(){
tinyMCE.triggerSave();
$.ajax({
url:“@url.Action”(“电子邮件”)”,
类型:“POST”,
数据:$(“#emailform”).serialize(),//+“&emailContent=emailContent”,
//数据:数据,
数据类型:“json”,
传统的:真的
});
});
公共行动结果电子邮件(FormCollection数据)
{
foreach(数据中的var key.allkey)
{
var值=数据[键];
}
字符串内容=数据[“emailContent”];
}经过多次尝试,我终于完美地解决了这个问题。我的代码中缺少两件事:1。在ajax调用和2之前提交表单。在我的控制器上方添加属性[Validateinput(false)]。以下是最终解决方案:
// Controller
[ValidateInput(false)]
public ActionResult Email(FormCollection data)
{
foreach (var key in data.AllKeys)
{
var value = data[key];
}
string Content = data["emailContent"];
}
Javascript:
tinyMCE.init({
selector: "textarea"
});
//==========电子邮件按钮
$("#btnEmail").click(function () {
tinyMCE.triggerSave(true, true);
$('#emailform').submit();
$.ajax({
url: '@Url.Action("Email")',
type: "POST",
data: $("#emailform").serialize(),
dataType: "json",
traditional: true
});
});
//========= HTML
<textarea name="emailContent" style="width:100%"></textarea>
$(“#btnEmail”)。单击(函数(){
tinyMCE.triggerSave(真,真);
$('#emailform')。提交();
$.ajax({
url:“@url.Action”(“电子邮件”)”,
类型:“POST”,
数据:$(“#emailform”).serialize(),
数据类型:“json”,
传统的:真的
});
});
//==========HTML
您遇到了什么问题?您有哪些错误?首先感谢您的回复。。。。。。事实上,我没有得到任何错误,但问题是我的控制器的Formcollection参数不能呈现textarea的内容。。。。。。。。但所有其他控件的值都在通过Formcollection参数。感谢什么使您认为textarea的值没有被序列化?然后向您展示控制器方法和模型。FormCollection
?认真地使用模型,绑定到模型并发回模型。