- - PR -
[ASP.NET]カスタムコントロールのイベント
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-10-31 23:08
いつもお世話になってますm(_ _)m
今日は複合コントロールについての質問をお願いします。 (言語:VB) Controlを継承して、その中にテキストボックスとイメージボタンをメンバで持つようなコントロールクラスを作成しました。 ImageButtonがクリックされたときのイベントを記述したいのですが、どうしてもうまくいきません。(波線でコンパイルエラーがでます) 以下、エラーメッセージです。 『メソッド'Public ImgButton_Click(sender As Object, e as System.EventArgs)'に、デリゲート'Delegate Sub ImageClickEventHandler(sender As Object, e As System.Web.UIImageClickEventArgs)'と同じシグニチャがありません。』 と、表示されます。 しかし、これはImageButtonではなく、ただのButtonを使用するとこのようなエラーは出ません。単なるクリックイベントですし、ImageButtonにもクリックのイベントはあるのでなぜダメなのかがわかりません。 ちなみに、クラスの構成としては、 メンバにTextBoxとImageButtonの変数を持ち、コンストラクタで2つをNewします。 以下は、CreateChildControlsメソッド内の処理です。 ------------------------------------------------------------------ Protected Overrides Sub CreateChildControls() Me.Controls.Add(New LiteralControl("<h3>")) 'テキストボックス Me.Controls.Add(m_TextBox) Me.Controls.Add(New LiteralControl(" ")) 'Imageボタン AddHandler m_CalendarImgButton.Click, AddressOf CalendarImgButton_Click Me.Controls.Add(m_CalendarImgButton) Me.Controls.Add(New LiteralControl("</h3>")) End Sub ----------------------------------------------------------------- 別のサイトからコピーして、ソースを使ったので、自分では今のところ詳しくはわからない処理も入っているのですが、 AddHandler m_CalendarImgButton.Click, AddressOf CalendarImgButton_Click の1行をコメントアウトすれば、ブラウザ上で表示も問題なくできます。 ImageButtonだからこのやり方ではダメなのでしょうか? 長文になってしまい、申し訳ありませんが、どなたかご教授お願いいたします。 | ||||
|
投稿日時: 2005-10-31 23:58
すみませんイベントの引数が間違っていました!!
なので、コンパイルエラーは消えましたm(_ _)m ですが、新たなエラーがでてきました。 クリックイベントを作成したのですが、クリックしてもそのイベントを通ってくれません。 CreateChildControls内には以下の記述をしています。 AddHandler m_CalendarImgButton.Click, AddressOf CalendarImgButton_Click イベント処理は以下のようなメソッドです。 --------------------------------------------------------------------------- Public Sub ImgButton_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) 'イベント処理の中身 End Sub --------------------------------------------------------------------------- 上記のように書いたのですが、ここを通ってくれません(T_T) ご教授お願い致します。 | ||||
|
投稿日時: 2005-11-01 00:45
私の環境では大丈夫でした。 確認はどのように取られたのでしょう? ブレーク ポイントをおいて確かめたのでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-11-01 08:59
じゃんぬねっとさん、いつもありがとうございますm(_ _)m
確認はブレイクポイントをはりました。 ブレイクポイントではよろしくないのでしょうか? | ||||
|
投稿日時: 2005-11-01 09:24
CalendarImgButton_Click
ImgButton_Click 名前が違うから・・・ | ||||
|
投稿日時: 2005-11-01 09:36
すみません、こちらに投稿する際に名前を間違えたようです(>_<;
正しくは、 CreateChildControls内には以下の記述をしています。 AddHandler m_CalendarImgButton.Click, AddressOf CalendarImgButton_Click 下は、クリックイベントのメソッドです。 ------------------------------------------------------------------------- Public Sub CalendarImgButton_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) '処理内容 End Sub ------------------------------------------------------------------------- このように記述しています。 なので、名前はあっていると思うので原因がわからず…なんです(;_;) | ||||
|
投稿日時: 2005-11-01 09:53
とりあえず、原因の絞込みをしましょう。
まず、通常の Handles キーワードでも動作しないかを確認してください。
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-10-03 18:44
僕もImageUrlを設定し忘れてて同じ症状になりました。
設定したら動きました。 [ メッセージ編集済み 編集者: こあーるさん 編集日時 2008-10-03 18:44 ] |
1