繁体   English   中英

TinyMCE文本区域值无法与表单集合一起呈现

[英]TinyMCE text area value not render with form collection

对于我的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> 

经过大量的尝试,我终于完美地解决了这个问题。 我的代码中缺少两件事: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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM