2009-06-24 11 views
0

私は最初にHtml.BeginForm()を使用したビューを持っています。 POSTの後、ViewData ["Message"]でメッセージを表示します。それはうまく動作します。x.BeginForm()とViewData

Ajax.BeginForm()に変更すると、ViewData ["Message"]はnullになります。

私には何が欠けていますか?

+0

あなたのコントローラで何をしていますか? – DSO

+0

メッセージを設定するだけです... ViewData ["Message"] = "Customer Updated"; 戻るビュー( "CustomerLoanList"、loans); 私はコントローラを変更していません。ちょうど.BeginForm()ビットです。 –

答えて

0

あなたがHtml.BeginFormを使用すると、コントローラが現在のビューを再びレンダリングしていると推測され、htmlにメッセージが正しく表示されます。

Ajaxリクエストを作成するときは、リクエストの成功後に何が起きるかを制御する必要があります。

これは、OnSuccessプロパティでJavaScriptコールバック関数を設定できるAjax.BeginForm ajaxOptionsパラメータで行うことができます。

+0

現在のビューが再度レンダリングされていることが正しいです。実際、Ajax.BeginForm()に変更すると、新しいAjaxOptions {,,,}を追加する必要がありました。 私がコピー/貼り付けたJavaScriptコードは、私がそれを呼び出すOnSuccess関数の引数を取らなかったので、そのJS関数が呼び出されている間、私は何を探しているのか分かりません。 多分私は何かをもう一度見逃していますか? –

関連する問題