- - PR -
AutoEventWireup="True"で、データグリッド表示不正
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-11-27 17:28
お世話になってます。
今まで、@PageディレクティブをAutoEventWireup="True"で開発していた のですが、この場合、Page_Loadを2回繰り返して実行しているらしく、 Page_Load内のデータ参照処理にて、データグリッドに、同一データを2度追加 されていました(汗 要するに、本当は3件なのに、ABCABCと6件追加されます。 そこで、質問なのですが、データグリッドがある画面では、AutoEventWireup="True" にしてはいけないのでしょうか? それとも、データグリッドの設定が悪くて引き起こされる不具合なのでしょうか? ご存知の方、宜しくお願いいたします。 |
|
投稿日時: 2003-11-27 17:57
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbconwebformseventmodel.asp
ここのページの中央あたりにAutoEventWireupについての記述があります。 「AutoEventWireupがtrueに設定されている場合、Page_Initメソッドおよび Page_Loadメソッドが自動的に呼び出されます」とのことですね。 DataGridうんぬんではなくてVisualStudio.netがコードを自動生成したから ですね。 どうしてもAutoEventWireupをtrueにしたいならばInitializeComponentの中に 自動生成された this.Load += new System.EventHandler(this.Page_Load); を消せば2回よばれずにすみます。(こんなことしていいのかは わかりませんが) (Page_Initのことはよくわかりませんが、自分でPage_Initを作って AutoEventWireupをtrueに設定したら確かに自動的に呼ばれました) |
|
投稿日時: 2003-11-27 18:52
ついでに
07.Page_Loadは何故うごく? http://homepage3.nifty.com/dotnetfan/web/web07.html |
|
投稿日時: 2003-11-28 09:46
ありがとうございます。
マイクロソフトの以下の説明でかなりすっきりしました。 >ページの実行時に、同じイベント コードが 2 回呼び出されることがあります。このため、 >Visual Studio では AutoEventWireup を常に false に設定する必要があります。 |
1