2016-02-29 23 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>