2009-03-18 6 views
1

デバッグモードでボタンをクリックすると、ページがリロードされますが、クリックイベント内のブレークポイントには決して到達しません。しかし、page_loadのブレークポイントはうまく動作します。Visual Studioデバッガ。 ASP.NET ImageButtonクリックイベントが発生しない

基本的には、ボタンのクリックイベント内のコードが実行されていないかのようです。

サイトをソースコントロールにチェックインし、別の開発者が自分のコンピューターでそれを試しました。クリックイベントは内部でブレークポイントをキャッチしてうまくいきました。

私のコンピュータで別のサイトを試しましたが、同じ問題があります。だから、それは私のコンピュータに特有のものであり、どんなサイトにも固有のものではありません。

誤って変更した可能性のある設定がありますが、これはクリックイベントがデバッグ中に機能しなくなる可能性がありますか?

ご協力いただければ幸いです。

編集: この問題は、デバッガで実行するすべてのサイトで発生しており、ボタンは動的に作成されません。

編集: ブレークポイントを追加する際に問題はありません。私はそれがブレークポイントの問題だとは思わない、私はそれが発砲しないクリックイベントの問題だと思う。同じコードを別の開発者マシンに置き、そのマシン上でデバッグしている間、クリックイベントは正常に機能しました。

答えて

0

私がテストしていたすべてのクリックイベントは画像ボタンと思われ、ローカルマシンには画像がありませんでした。何らかの理由で、画像が欠落していた場合、クリックイベントは発生しませんでした。

0

ボタンの作成方法ページに動的に追加された場合は、より前に実行してください。ロードイベント。またはイベントが配線されません。これが私がこのようなことを聞​​いた最も一般的な理由です。

+0

ジョエル、なぜ前に? Page_Loadイベントで作成された場合と同じように機能します。 – Ruslan

+0

ページライフサイクルのため:有線イベントを含む状態は、ページが読み込まれる直前に復元されます。ポストバックのコントロールを再作成するloadイベントまで待つと、asp.netがイベントハンドラをワイヤリングしようとしたときにイベントが発生しないため、イベントは発生しません。 –

0

button_clickイベントの中にブレークポイントを置くと、 "シンボルはロードされません"または "ソースファイルが異なります"と表示されますか?

もしそうならば、コードファイル&を変更してバイナリを作成しました(これはサイトが使用しているものとは異なります)。

0

私のPage_Loadイベントでは、IsPostBackプロパティをチェックして、実際に投稿であり、取得していないことを確認します。 Controlsコレクションにデータが読み込まれ、すべてのコントロールIDがRequest.Forms.KeysのIDと一致することを確認します。

この提案の理由は、ブラウザ内のアドオン、または送信されたフォームと入力名が壊れてしまう派手なプロキシが変更された場合、これらのコントロールではイベントが発生しないということです。

2

あなたのマシンに固有のもので、すべてが失敗した後、私はVisual Studioで修復を行います。私は物事が奇妙になり、それが通常動作するときにそれを数回しなければならなかった。しかし、まず他のすべての道を尽くすことを忘れないでください。

0

私は似たような覚えている私が刺してみよう:

を私はVS2005からVS2008へのアプリをアップグレードしていたし、私のボタンのコードのクリックは2005年に働いたが、2008年に、私は「ハンドル」修飾子を追加する必要がこのような宣言の終わりに:何らかの理由

Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSave.Click 

2005のコードは、それを必要としませんでしたが、2008年には、それを必要とし、私は漠然と、あなたが記述されている非常に同じ症状を持つ覚えています。