对于我的asp.net mvc 5应用程序,我使用了TinyMCE文本编辑器。我的应用程序我使用formcollection.serialize方法传递前端值。不幸的是,textarea的内容无法通过formcollection.serialize方法呈现。这是我的代码如下。如果有人能提供帮助,我将感到非常高兴。谢谢:
tinyMCE.init({
selector: "textarea"
});
//========Email Button
$("#btnEmail").click(function () {
tinyMCE.triggerSave(true, true);
$.ajax({
url: '@Url.Action("Email")',
type: "POST",
data: $('#emailform').serialize(),
dataType: "json",
traditional: true
});
});
<textarea name="emailContent" style="width:100%"></textarea>
答案 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"
});
//========Email Button
$("#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>