2011-02-04 156 views
1

我正在使用tinyMCE(js中的富文本編輯器)。 目前,我有一個功能,例如:從javascript傳遞值到mvc控制器

function GetEditorValue() { 
     var val = tinyMCE.get('valueTextArea').getContent() 

    } 

返回已輸入到富文本編輯器的文本。 現在,有沒有辦法使用POST將這些數據傳遞給我的mvc控制器 並在那裏訪問它? (這一切都是在ASP.NET MVC 2中使用C#完成的)

回答

3

您可以使用AJAX發送此值。例如jQuery提供.post()功能:

var val = tinyMCE.get('valueTextArea').getContent(); 
$.post('<%= Url.Action("foo") %>', { value: val }, function(result) { 
    // TODO: handle the success 
    alert('the value was successfully sent to the server'); 
}); 

和你的控制器動作中:

[HttpPost] 
public ActionResult Foo(string value) 
{ 
    // Do something with the value 
} 

現在很明顯,因爲這是一個的文本編輯器的值可能包含危險的人物和ASP.NET將拒絕他們拋出異常。爲了避免這種情況,你可以用[ValidateInput(false)]屬性裝飾你的控制器動作:

[HttpPost] 
[ValidateInput(false)] 
public ActionResult Foo(string value) 
{ 
    // Do something with the value 
} 

,如果你正在使用ASP.NET 4.0還應該添加下列到你的web.config:

<httpRuntime requestValidationMode="2.0" /> 
+0

這肯定看起來像答案,即使在我的情況下我的控制器方法沒有被調用。不過,我會自己把那部分弄清楚。謝謝一堆。 – snwr 2011-02-04 11:06:22