2011-02-04 78 views
1

私はtinyMCE(jsのリッチテキストエディタ)を使用しています。javascriptからmvcコントローラに値を渡す

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

    } 

リッチテキストエディタに入力されたテキストを返します: 現在、私は、次のような機能を持っています。 今、私のmvcコントローラ にPOSTを使ってこのデータを渡してそこにアクセスする方法はありますか? (これはASP.NET MVC 2でC#を使用して行われています)

答えて

3

この値はAJAXを使用して送信できます。

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'); 
}); 

とあなたのコントローラのアクション内部:今、明らかにこの値が危険な文字が含まれている可能性があり、ASP.NETがでそれらを拒否するリッチテキストエディタがあるので

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

例えばjQuery.post()機能を提供します例外をスローします。

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

を、あなたがASP.NET 4.0を使用している場合、また、あなたのweb.configファイルに以下を追加する必要があります:これを避けるために、あなたは[ValidateInput(false)]属性を使用してコントローラのアクションを飾ることができ、間違いなく

<httpRuntime requestValidationMode="2.0" /> 
+0

この私の場合はコントローラメソッドが呼び出されていないのに答えのように見えます。しかし、私はそれを自分自身から理解するでしょう。本当にありがとう。 – snwr

+0

@snwr、多分JavaScriptのエラーがありますか? 'FireBug'とは何ですか? AJAXリクエストが送信されていますか? –

+0

javascriptエラーがなく、私の$ .postが確実にfirebugにヒットしています(パラメータの正しい値を渡しています)。しかしコントローラの私のブレークポイントはヒットしていません。 – snwr

関連する問題