- - PR -
ASP.NET IsPostBack
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-23 12:14
今週からASP.NETの勉強を始めました。よろしくお願いします。
IsPostBackの意義がまだあやふやなので教えてください。 あるページにポストバックはリロードや再リクエストと同じだとありました。 if (!IsPostBack){.....}で再ロード時からにするとヘッダーの内容が見れました。 次に、以下の内容(一部添付)を試しました。最初のロード時に見れないのはわかるのですが、再ロードと再リクエストをそれぞれ行ったのですが、ともにヘッダー内容が見れませんでした。 *スクリプトの一部* void Page_Load(Object Sender, EventArgs e){ if (IsPostBack){ DataBind(); } } *処理の一部* <%# Request.Headers %> この場合、なぜ再ロードしても、ヘッダー内容が見れないのですか? よろしくお願いします。 |
|
投稿日時: 2005-06-23 21:11
>今週からASP.NETの勉強を始めました。よろしくお願いします。
最初はなれないかもしれませんが、がんばってください。 IsPostBack っていうのは、言葉どおり POSTメソッドでリクエストが(帰って)きたかどうかってことです。 POSTで送信されてきたら、trueになります。 GETメソッドだとfalse です。 最初にURLをたたいて、呼び出す (GETメソッドですよね)で 送られてきたものを、 > 再ロードと再リクエスト ページの更新 をしても、GETメソッドなのでfalseです。 ひっかかっているのは、このあたりの勘違いじゃないかな? |
|
投稿日時: 2005-06-24 09:35
おはようございます。
いのつちさん、ご丁寧にありがとうございます。よく分かりました。 ASP.NETでは、自動で(デフォルトで)全てがPOST送信されると思っていました。 最初はGET送信されるのですね。なるほど。 ボタンを配置して、Request.ServerVariablesdのREQUEST_METHODを確認してみました。 本当ですね。最初(ページ立ち上げ)はGETになっていました。 続けて、配置したボタンをクリックしたら、POST送信になりました。 だから、最初はIsPostBackが無効になるのですね。 [ メッセージ編集済み 編集者: 未記入 編集日時 2005-06-24 09:43 ] |
|
投稿日時: 2005-06-24 10:34
もしかしたら勘違いかもしれないため補足。
最初は GET なのは、ASP.NET とは関係なく、ブラウザに URL を入れたら 「ブラウザが」GET リクエストを行うからです。 |
|
投稿日時: 2005-06-24 12:23
にしざきさん、ありがとうございます。
>最初は GET なのは、ASP.NET とは関係なく、ブラウザに URL を入れたら「ブラウザが」GET リクエストを行うからです。 そうか、なるほど。 最初はページからの要求ではなくブラウザからの要求だから、HTMLformのデフォルトと同じであるGET送信がされるのですね。 それに対してサーバが返した要求ページには、ASP.NETのデフォルトであるPOSTが用意されているということですね。 @最初がブラウザからのページ要求←Methodは、GET A要求されたページを表示←ページ内のMethodには、Post BAのページからPost要求 だから、@の送信ときはIsPostBackがFalseになり、Bの送信のときはTrueになるのですね。 ありがとうございます。 これに関する質問をしてもよろしいでしょうか? http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22367&forum=7&0に飛びます。 [ メッセージ編集済み 編集者: 未記入 編集日時 2005-06-24 12:28 ] |
1