カスタムサーバーコントロールのカスタムクリックイベントを作成しました。コントロールは、内部にリンクボタンと通常のボタンを持つボタンです。イベントは本質的にリンクの共通のクリックイベントを提供し、それ自体がクリックされた場合は通常のボタンを起動します。ここでカスタムイベント内でデバッグできません
は私のコードです:
私はコントロールを使用しているページの今public delegate void ButtonClick(object sender, EventArgs e);
public event ButtonClick Click;
protected virtual void OnClick(object sender, EventArgs e)
{
if (Click != null)
Click(sender, e);
}
void butButton_Click(object sender, EventArgs e)
{
OnClick(sender, e);
}
void lbuButton_Click(object sender, EventArgs e)
{
OnClick(sender, e);
}
:それは発射いないので
void sbuSave_Click(object sender, EventArgs e)
{
// Cannot debug here! Can't check if event is fired.
}
は、私は私のイベント内でデバッグすることができませんか?もし私がResponse.Write()
を内部に書いたら、私はそれが発射していると推測するようにテキストを取得します。私は本当にアプリケーションの残りの部分で起こっているイベントのために私のイベントの中でデバッグすることができる必要があります。何が起きてる?私は何かが欠けていますか?
// hook up both click events of each control to same handler
butButton.Click += DoSomethingOnClick;
lbuButton.Click += DoSomethingOnClick;
private void DoSomethingOnClick(object sender, EventArgs e)
{
...
}
編集
は、私が最初に質問を読み違え考える:両方のコントロールはちょうどそれを行うことが容易されている可能性があり、同じクリックイベントを起動した場合
イベントハンドラはどこに指定されていますか? System.Diagnostic.Debug.Break()を実行しようとすると、動作しますか? – Polity
Page_Initで定義されています。それは動作し、ちょうどクリック機能の '内部'をデバッグしません...以下の記事のコメントを参照してください。 – Jon
これは、利用可能なデバッグシンボルがないので、実際の問題は、aspxファイル内またはcsファイル内のあなたのクリックメソッドですか? – Polity