有谁能告诉我如何使用formcollection.serialize方法序列化tinymce文本编辑器内容? 我尝试使用:
tinyMCE.init({
selector: "textarea"
});
$("#btnEmail").click(function () {
tinyMCE.triggerSave();
$.ajax({
url: '@Url.Action("Email")',
type: "POST",
data: $('#emailform').serialize(),// + "&emailContent=emailContent",
// data: data,
dataType: "json",
traditional: true
});
});
<textarea name="emailContent" id="emailContent" style="width: 100%" ></textarea>
公共ActionResult电子邮件(FormCollection数据) { foreach(data中的var键.AllKeys) { var value = data [key]; } string Content = data [“emailContent”]; }
答案 0 :(得分:0)
经过大量的努力,我完全解决了这个问题。我的代码中没有两件事: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>