- PR -

Page_Loadイベントを通るようにする方法

1
投稿者投稿内容
ベテラン
会議室デビュー日: 2006/11/10
投稿数: 64
投稿日時: 2007-08-23 21:46
いつもお世話になってます。

ASP.NET2.0のC#で開発してます。
突然、Page_Loadイベントを通らないWEBフォームがいくつか出てきたのですが
回復方法はありますでしょうか?

http://jungle2.digick.jp/JKB2005/2005/04/page_load.html

http://homepage3.nifty.com/dotnetfan/web/web07.html
を見て、「AutoEventWireup」あたりが原因かとも思ったのですが、
trueにしても(というか元々trueでした。)通りません。

どこかに設定が必要なのでしょうか?

すみません。宜しくご教示お願い致します。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2007-08-24 09:45
Loadイベントが発生していないんでしょうか、それともPage_Loadが呼ばれないだけでしょうかね。調べてみましょう。
ページのコンストラクタに
コード:
public MyPage()
{
    this.Load += delegate(object sender, EventArgs e) { throw new Exception("Loadイベント起きてる"); };
}


こんなコードを書いてみてください。
もしLoadイベントが発生しているなら例外が発生するはずです。
普通Loadイベントが発生しないことはありませんが、昔OnLoadをオーバーライドしてbaseのOnLoad()を読んでいなかったためLoadイベントが発生していなかったなんてこともあったので一応試してみてください。

もしLoadイベントが発生していることが確認できたら、後はPage_LoadイベントハンドラがLoadイベントに関連づけられていないことが考えられます。
C#のコードはどこに書いてますか?.aspxファイルの中?
ベテラン
会議室デビュー日: 2006/11/10
投稿数: 64
投稿日時: 2007-08-24 11:08
一郎さん
ありがとうございます。

Loadイベント起きてませんでした・・・
「this.Load・・・」の行にブレークポイントを設定して実行すると
そのブレークポイントの「!」の吹き出しに
”ブレークポイントは、現在の設定ではヒットしません。このドキュメントのシンボル
が読み込まれていません。”
と出ていましたので、下記過去ログを見ましたが、追っていくと、MSのバグという
結論になっているようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9660&forum=7

ちなみにOnLoadのオーバーライドも作っていません。
コードはcsファイルに書いてます。

新しいソリューションに移行するしかないのでしょうか?
ベテラン
会議室デビュー日: 2006/11/10
投稿数: 64
投稿日時: 2007-08-27 14:21
自己レスです。

ひとまず、aspxのファイル名を変更したら、通るようになりました。

ただ、ファイル名を戻すと、やはり同じ現象になってしまうので、
どこかに設定が残っていそうなんですが・・・
1

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