質問
ウェブ開発に取り組んでいますが、 ポストバック という言葉が飛び交っています。非Webベースのバックグラウンドから来た場合、新しいWeb開発者はポストバックについて何を知る必要がありますか? (つまり、それらは何で、いつ発生しますか?)
ウェブの世界の初心者がポストバックを認識できるようにするために共有したい情報があれば、さらに感謝します。
解決
以下は、ASP.Netの初心者向けです...
いつ発生しますか?
ポストバックはクライアントブラウザから発生します。通常、ページ上のコントロールの1つはユーザーによって操作され(ボタンのクリックまたはドロップダウンの変更など)、このコントロールはポストバックを開始します。このコントロールの状態、およびページ上の他のすべてのコントロール(表示状態)は、Webサーバーにポストバックされます。
何が起こりますか
ほとんどの場合、ポストバックにより、Webサーバーはポストバックを開始したページのコードビハインドクラスのインスタンスを作成します。このページオブジェクトは、通常のページライフサイクル内で実行されますが、わずかな違いがあります(以下を参照)。ページのライフサイクル中にユーザーを別のページに明確にリダイレクトしない場合、ポストバックの最終結果は同じページが再びユーザーに表示され、その後、別のポストバックが発生する可能性があります。
なぜ起こるのですか?
WebサーバーでWebアプリケーションが実行されています。ユーザーの応答を処理する、アプリケーションの状態を変更する、または別のページに移動するには、Webサーバーで実行するコードを取得する必要があります。これを達成するための唯一の方法は、ユーザーが現在作業しているすべての情報を収集し、それをすべてサーバーに送り返すことです。
初心者が注意すべきことは...
- ポストバックページのコントロールの状態は、コンテキスト内で利用可能です。これにより、ページコントロールを操作したり、そこにある情報に基づいて別のページにリダイレクトしたりできます。
- Webフォーム上のコントロールにはイベントがあるため、他のコントロールと同様にイベントハンドラーがあります。ページライフサイクルの初期化部分は、ポストバックを引き起こしたコントロールのイベントハンドラーの前に実行されます。したがって、ページ<!>#8217; sのInit and Loadイベントハンドラーのコードは、ユーザーがクリックしたボタンのイベントハンドラーのコードの前に実行されます。
- <!>#8220; Page.IsPostBack <!>#8221;の値プロパティは<!>#8220; true <!>#8221;に設定されます。ポストバック後にページが実行されている場合、および<!>#8220; false <!>#8221;それ以外の場合。
- AjaxやMVCなどのテクノロジーにより、ポストバックの動作方法が変更されました。
他のヒント
wikipedia から:
ポストバックは、 インタラクティブなウェブページ、全体が ページとそのコンテンツはに送信されます 何らかの情報を処理するサーバー そして、サーバーは同じを投稿します ページをブラウザに戻します。
ウェブページが最初にページを生成したのと同じscript / dll / whateverにデータをポストバックすると、ポストバックが発生します。
C#の例(asp.net)
...
if (!IsPostback)
// generate form
else
process submitted data;
定義を拡張して、ウェブ開発者として知っておく必要がある最も重要なことは、ポストバック間で状態が保存されないことです。 ASP.NETのSessionコレクションやViewstateコレクションなど、状態を保持する方法がありますが、経験則として、ポストバックごとに状態を再作成できるプログラムを作成してください。
これはおそらくデスクトップとWebベースのアプリケーションプログラミングの最大の違いであり、この方法で本能的に記述しているところまで学習するのに数ヶ月かかりました。
Web開発には通常、フォーム(<form>
タグ)を保持するhtmlページが含まれます。フォームはURLに投稿します。特定のフォームを設定して、任意のURLに投稿できます。 ポストバックは、フォームが独自のページ/ URLにポストバックするときです。
この用語は、 ASP.Net 開発者にとって特別な意味を持ちます。これは、ページの多くの動作、特に「イベント処理」を促進する主要なメカニズムであるためです。 ASP.Netページには、ほぼ常に自分自身にポストバックするサーバーフォームが1つだけあり、これらのポストバックは、ページライフサイクルと呼ばれるもののサーバーでの実行をトリガーします。
この用語は、サードパーティのWebサービスAPIとやり取りする際のWebアプリケーション開発でも使用されます
多くのAPIには、インタラクティブな統合と非インタラクティブな統合の両方が必要です。通常、インタラクティブな部分はリダイレクトを使用して行われます(サイト1はユーザーをサイト2にリダイレクトし、そこでサインインしてリダイレクトされます)。非インタラクティブ部分は、「ポストバック」、またはサイト2のサーバーからサイト1のサーバーへのHTTP POSTを使用して行われます。
スクリプトがhtmlフォームを生成し、そのフォームのアクションhttpが同じフォームにPOSTで戻る場合。
ポストバックとは、基本的に、フォームを新しいページに送信するのではなく、現在データを処理するのと同じページまたはスクリプト(.php .aspなど)に送信した場合です。
例は、フォーラムのページ(viewpage.php)で、コメントを送信すると、同じページ(viewpage.php)に送信され、新しいコンテンツが追加されて表示されます。
ポストバックは、クライアントのWebブラウザーからのページをサーバーにプッシュバックするものです。
たくさんの情報があります。ポストバックをグーグルで検索してください。
ほとんどの場合、ASPコントロールはポストバック(ボタン/リンククリック)を引き起こしますが、(checkbox / combobox)に指示しない限りそうでないものもあります
ポストバックはHTMLフォームを指します。 HTMLフォームには、GETとPOSTの2つのメソッドがあります。これらのメソッドは、フォームを介してクライアントからサーバーにデータを送信する方法を決定します。ポストバックは、送信ページにPOSTするアクションです。本質的には、クライアントからサーバーへ、そして再び戻る完全な回路を形成します。
まだ上記の質問には正確に回答されていますが、私の知識を共有したいだけです。 ポストバックは基本的に、ページの状態を管理する必要があるいくつかのタスクを実行しているときに使用できるプロパティです。ボタンをクリックするか、ページを更新した場合。 ページが初めて読み込まれるとき、つまりページを更新した場合、その時点でpostback-propertyはfalseになり、その後trueになります。
if(!ispostback)
{
// do some task here
}
else
{
//do another task here
}
http://happycodng.blogspot.in/2013/ 09 / concept-of-postback-in.html