私は最初にHtml.BeginForm()を使用したビューを持っています。 POSTの後、ViewData ["Message"]でメッセージを表示します。それはうまく動作します。x.BeginForm()とViewData
Ajax.BeginForm()に変更すると、ViewData ["Message"]はnullになります。
私には何が欠けていますか?
私は最初にHtml.BeginForm()を使用したビューを持っています。 POSTの後、ViewData ["Message"]でメッセージを表示します。それはうまく動作します。x.BeginForm()とViewData
Ajax.BeginForm()に変更すると、ViewData ["Message"]はnullになります。
私には何が欠けていますか?
あなたがHtml.BeginFormを使用すると、コントローラが現在のビューを再びレンダリングしていると推測され、htmlにメッセージが正しく表示されます。
Ajaxリクエストを作成するときは、リクエストの成功後に何が起きるかを制御する必要があります。
これは、OnSuccessプロパティでJavaScriptコールバック関数を設定できるAjax.BeginForm ajaxOptionsパラメータで行うことができます。
現在のビューが再度レンダリングされていることが正しいです。実際、Ajax.BeginForm()に変更すると、新しいAjaxOptions {,,,}を追加する必要がありました。 私がコピー/貼り付けたJavaScriptコードは、私がそれを呼び出すOnSuccess関数の引数を取らなかったので、そのJS関数が呼び出されている間、私は何を探しているのか分かりません。 多分私は何かをもう一度見逃していますか? –
FWIW、私はこれを間違って実行していました。私が達成したいと思ったこと、そして方法をここで説明します - http://davidhayden.com/blog/dave/archive/2009/05/19/ASPNETMVCAjaxBeginForm.aspx
あなたのコントローラで何をしていますか? – DSO
メッセージを設定するだけです... ViewData ["Message"] = "Customer Updated"; 戻るビュー( "CustomerLoanList"、loans); 私はコントローラを変更していません。ちょうど.BeginForm()ビットです。 –