2011-05-18 17 views
2

jQueryをPHPで数十回使って大成功を収めました。私はASP.NETアプリケーションで作業しており、同じ方法でjQueryを使用したいと考えています。ASP.NETでjQueryを使用してフォームを送信する

基本的には、フォームとすべてのフォームフィールドとデータを持つWebフォームを持つマスターページがあります。ユーザーはフォームを複数の方法で送信できます - ドロップダウン、ボタンなどの選択。すべての送信をキャッチし、jQueryを使用してフォームを送信します。フォームが処理されている間、新しいDIVをいくつかのテキストで表示します。最後に、そのdivを新しいフォームに置き換えたいと思います。

これはASP.NETの仕組みでどのように実現できますか?

+0

あなたはポストバックがリフレッシュ見ることなく、これを達成しようとしている:あなたはTypedViews(ViewModes)を実装することを可能にする共通のフレームワーク、単純な要求はmodelbinding、およびように...

MH、サンプルには? – Mutt

+0

@Mutt:申し訳ありませんが、私は明確にすべきでした。私は結果にアクセスして、必要に応じてフォームを変更し、「新しい」フォームをロードしたいと考えています。 – Dexter

答えて

3

実際には、ASP.NETの組み込みJavaScript __doPostBack機能を使用すると、ASP.NETはポストバックします。それを行うための他の無痛の方法はありません。

これは、jQueryを使用して、ドロップダウンリスト、ボタン、または何らかの(X)HTML要素のイベントとハンドラの本体が__doPostBackを呼び出すことができることを意味します。

AJAXを使用した完全なポストバックですが、部分的なものが必要なのかどうかは不明です。

あなたはフルポストバックせずにサーバーにフォームの値を送信するための解決策を探しているなら、私はあなたがこれらのオプションをしたと信じて:

とにかく、私はあなたにアドバイスをしましょう:ASP.NETはPHPとはかなり異なっており、ASP.NETで既知のPHPソリューションを再現しようとしません。あなたはあなたの心を変える必要があります。何かが処理される間、DIVか何かを示すについて

initializeRequest ASP.NET AJAX PageRequestManagerと遊ぶ:

しかし、それはあなたがしているもののAJAX APIに依存するであろうなぜなら、Microsoft AJAXは次回にjQueryに置き換えられるため、$.ajaxラッパーを作成するなど、いくつかのjQueryアプローチでこれを行う必要があると言う必要があるでしょう。そうすれば、コードはasynchr義務付けられた要求が行われ、DIVの表示や積載通知などの状況を処理して行動を起こすことができます。

2

ASP.NET WebformsのformpostsはPHPにあるほど簡単ではありません。 ASP.NET開発で新しくなったら、http://www.asp.net/mvcを試してみてください。

[HttpPost] 
public JsonResult Insert(string name, string vorname) // name&vorname filled by $_POST:) 
{ 
    var @new = new Person { Name = name, Vorname = vorname } 
    this.repo.Insert(@new); 

    return this.Json(new { success = true, newId = @new.Id }); 
} 
関連する問題