「コールバック」と「ポストバック」という言葉が投げかけられているのを聞き続けています。
二つの はどう違いますか?
ポストバックは ASP.NET ページに固有のものですか?
「コールバック」と「ポストバック」という言葉が投げかけられているのを聞き続けています。
二つの はどう違いますか?
ポストバックは ASP.NET ページに固有のものですか?
ポストバックは、ページ上のデータ (ページ全体) がクライアントからサーバーにポストされるときに発生します。つまり、データがサーバーにポストバックされ、ページが更新 (再描画) されます...考えてみてください。 「データでいっぱいのページ全体(asp.net)をサーバーに送信する」として。
一方、コールバックも特別な種類のポストバックですが、(通常は) 少量のデータ セットを取得するためのサーバーへの簡単なラウンド トリップにすぎないため、ポストバックとは異なり、ページは更新されません。 ...「サーバーを呼び出し、データを受信する」と考えてください。
Asp.Net では、ポストバックとは異なり、コールバックが呼び出されたときに ViewState は更新されません。
ページ全体が ASP.Net で投稿される理由は、ASP.Net がページ全体を<form>
postメソッドで囲むためです。そのため、ページで送信ボタンがクリックされると、フォームはすべての要素とともにサーバーに送信されます。フォーム内のフィールド...基本的にはページ全体です。
FireBug (Firefox 用)を使用している場合は、 Console
. そうすれば、サーバーに送信されている特定のデータ( Request
) と、サーバーから返されたデータ( ) を確認できますResponse
。
以下の画像は、ASP.NET ベースの Web サイトでのポストバックとコールバックの両方のページ ライフ サイクルを示しています。
(出典: esri.com )
ポストバックは、ユーザーが現在表示しているページと同じページに対する要求がクライアントからサーバーに送信されたときに発生します。ポストバックが発生すると、ページ全体が更新され、ブラウザの下部にあるプログレスバーで一般的な進行状況を確認できます。
通常AJAXで使用されるコールバックは、ページが更新されていないクライアントからサーバーにリクエストが送信されたときに発生します。ブラウザでちらつきが発生することなく、ページの一部のみが更新されます。
Dreasの回答には同意しますが、いくつかポイントを追加したいと思います。ポストバックは、Dreasが説明したように、ASP .NETプログラミングによってごく最近導入された用語ですが、コールバックはより一般的であり、Web開発が存在する前に使用されてきました。実際、私がCでプログラミングを始めた頃にコールバックについて最初に聞いたのですが(おそらくその前に用語が存在していたのかわかりません)、それは単に関数へのポインターと関数へのこのポインターを意味します(これにAという名前を付けます)後でAを呼び出す別の関数(この名前はB)に渡されます。コールバックは最近Yahoo UI Connection Managerやその他のAjaxフレームワークでも使用されていますが、この用語は昔のC時代に初めて使用されたと思います。
ポストバックは、基本的にポストバックがその時点で実行されるときにラウンドトリップでもあり、ラウンドトリップとして知られる特別なメソッドを呼び出します。ポストバックはサーバー側にあり、ラウンドトリップはクライアント側にあります。
ポストバックは、リクエストがサーバーに送信されたときに発生し、各リクエストのセキュリティに関する詳細を提供する必要はありません。
他のページのリクエストを行うと、サーバーによってコールバックが使用されます