2

WebForms アプリケーション内で AJAX 呼び出しを行うための推奨される方法はありますか?

  1. 組み込みの ASP.NET AJAX コンポーネントがあることは知っていますが、少し重いようです。私は MVC でこれを行うことに慣れており、非常にきれいに見えます。

  2. ページ メソッドを使用できますが、メソッドが静的である必要があるため、データベースへのアクセスが難しくなります。

  3. jQuery を使用して呼び出しを行うこともできると思いますが、これは過去に失敗しましたが、通常はデータが返される方法の問題 (JSON など) が原因です。

私の目標は、文字列フラグメントを渡し、そのフラグメントに一致するアイテムのリストを取得することです。スピードはいいでしょう。いくつかの推奨事項を取得できますか?

4

3 に答える 3

4

HTTP ハンドラー (.ashx) を使用します。これにより、ページ インスタンスに柔軟性が与えられ、次のように jQuery.ajax()メソッドを介してスクリプトを呼び出すことができるようになります。

$.ajax({
    url: "Handler/MyHandler.ashx",
    contentType: "application/json; charset=utf-8",
    data: { 'Id': '10000', 'Type': 'Employee' },
    success: OnSuccess,
    error: OnFail
});

function OnSuccess() {
    // Do whatever needs to happen on success here
}

function OnFail() {
    // Do whatever needs to happen on failure here
}
于 2013-10-02T16:04:05.630 に答える
1

jQuery AJAX 呼び出しに投票します。

しかし、私が何年も WebForms を行っていたとき、コード ビハインド ファイル メソッドを呼び出すことは、好ましい方法ではありませんでした。この機能を Web サービスとして公開します。WCF または WebAPI として実行できます (MVC に由来する WebAPI は、専門知識に適している場合があります)。

AutoComplete 機能を実行するための 1 回限りの関数呼び出しである場合 (説明した問題に基づいて想定しています)、おそらくコード ビハインド メソッドの呼び出しでうまくいく可能性があり、AjaxControlToolkit の AutoCompleter コントロールを使用できます。しかし、AJAX 経由で呼び出しを行うことが増えていることに気付いた場合は、サービス呼び出しを真の Web サービスに組み込むことを検討する必要があります。

于 2013-10-02T16:28:55.700 に答える
1

私は常に JQuery AJAX 呼び出しを使用します。

$.ajax({
  url: 'your url',
  headers: { headertitle: headerdata},
  cache: false,
  success: function(data) {
    //success function. Returned data is stored in the data variable.
  }
});

他にご不明な点がございましたら、お問い合わせください。

于 2013-10-02T16:01:59.433 に答える