- PR -

ASP.NET PageLoadが2回起こる

1
投稿者投稿内容
よしきち
会議室デビュー日: 2004/06/11
投稿数: 6
投稿日時: 2004-06-11 13:52
ASP.NETで、画面上のサーバーコントロールボタン(Submit)をクリックすると、
ポストバックがかかりますが、その後すぐに再度PageLoadイベントが呼ばれ、
しかもその時は、ポストバックとしてではなく、not IsPostBack になります。

ちなみに、ページディレクティブのAutoEventWireupは false にしています。

いろいろ調べているのですが、なかなか問題解決につながるようなものはないです。

どなたか知識をお借りできたらと思います。
よろしくお願いします。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-06-11 14:15
まずは現象の分析ですね。
ブラウザから2回リクエストが発行されるのしょうか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11912&forum=7&start=0

[ メッセージ編集済み 編集者: todo 編集日時 2004-06-11 14:16 ]
よしきち
会議室デビュー日: 2004/06/11
投稿数: 6
投稿日時: 2004-06-11 14:26
リクエストは一回のはずです。
Submitボタンは一回押すだけです。

よろしくおねがいします。
よしきち
会議室デビュー日: 2004/06/11
投稿数: 6
投稿日時: 2004-06-11 14:52
InetSpyにて、ログを取ってみました。

submitボタン押下後、自分自身へPOSTしGetされています。
各1つずつ表示されているので、リクエストはサーバーへ行っています。

JavaScriptで調べましたが、FormのonSubmitはボタン押下時に作動しており、
BodyのOnloadイベントも1回だけ呼ばれます。

この、Onloadイベントのまえに、APS.NETのPage_Loadイベントが2回続けて起こっているという状況です。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-06-11 15:35
引用:

よしきちさんの書き込み (2004-06-11 14:52) より:
InetSpyにて、ログを取ってみました。

submitボタン押下後、自分自身へPOSTしGetされています。


ということは、ブラウザが2回リクエストを出しています。
クライアントサイドの問題でしょう。

1.HTML
2.メタタグ
3.クライアントサイドスクリプト

に原因があると考えられるが、特に3が有力でしょう。

経験値でいうと、SmartNavigationかValidatorが悪さをしているとか(使っているのであれば)。
よしきち
会議室デビュー日: 2004/06/11
投稿数: 6
投稿日時: 2004-06-11 16:03

ありがとうございます。

確かにValidatorはいくつか使用しています。
Validatorのプロパティの設定をいろいろ変えてみたのですが、現象は収まりません。
無駄なmetaタグもないです(問題の発生していない画面と同じということです。)

画面上では、ほかにデータグリッド、サーバーコントロールのパネルが複数。
あとはサーバーコントロールのテキストなどです。
テキストなどのAutoPostBackもfalseですし。データグリッドではソート、ページングを行っています。

データグリッドあたりでなんらかクライアントサイドスクリプトが勝手に作られているなど
ないか、調べています。

何か思い当たる点がありましたら、お願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)