2016-02-29 22 views
0

对于我的asp.net mvc 5应用程序,我使用了TinyMCE文本编辑器。我的应用程序我使用formcollection.serialize方法传递前端值。不幸的是,textarea的内容无法通过formcollection.serialize方法呈现。以下是我的代码如下。如果有人能提供帮助,我将非常高兴。与感谢:TinyMCE文本区域值不能与表单集合呈现

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

大量的最后努力后,我已经完美解决这个问题。我的代码中缺少两件事:1.在ajax调用之前提交表单并在控制器上方添加属性[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>