2011-07-14 13 views
2

フォームを送信してもページに残りますか?MVC3コントローラへのAjaxコール

今、私はオブジェクトの表を表示していますが、各行は独自のAjaxフォーム内の各行に編集可能な値を持っていますが、更新ボタンをクリックすると、メソッド全体が表示されます。

答えて

7

フォームを送信しても、ページに残りますか?もちろん

、あなたはAJAXを使用することができます。

@using (Html.BeginForm()) 
{ 
    ... some form input fields 

    <input type="submit" value="Go" /> 
} 

、その後、控えめにこのフォームAJAXify別のファイルに:

$(function() { 
    $('form').submit(function() { 
     $.ajax({ 
      url: this.action, 
      type: this.method, 
      data: $(this).serialize(), 
      success: function(result) { 
       // TODO: handle the results of the AJAX call 
      } 
     }); 
     return false; 
    }); 
}); 

とあなたが取ることがあり、このすべてのjavascriptのコードを書いて避けるために素晴らしいを見てjquery.form plugin

$(function() { 
    $('form').ajaxForm(function(result) { 
     // TODO: handle the results of the AJAX call 
    }); 
}); 

別の方法としては、ASP.NET MVC 3 Ajax.BeginFormヘルパーを使用することです。その後、

@using (Ajax.BeginForm(new AjaxOptions { OnSuccess = "success" })) 
{ 
    ... some form input fields 

    <input type="submit" value="Go" /> 
} 

およびJavaScriptでの成功ハンドラを持っている:

function success(result) { 
    // TODO: handle the results of the AJAX call 
} 

あなたもjquery.unobtrusive-ajax.jsスクリプトを含める必要があります。 Ajax.*ヘルパーを使用する場合は、ページにjqueryを追加してください。

+0

実際、jquery.unobtrusive-ajax.jsスクリプトを追加するだけで済みますが、お手伝いいただきありがとうございます。私は私の髪を引っ張っている(またはそれの何が残っている)。 – MCBrandenburg

関連する問題