- PR -

Webパーツでのイベント追加

1
投稿者投稿内容
JBOY
ベテラン
会議室デビュー日: 2003/02/27
投稿数: 72
投稿日時: 2007-04-16 16:53
MOSS 2007にてSharepointサイトの構築を行っています。

Webパーツで以下のようなコードを書いていますが、
ボタンクリック時のイベントが発生しません。
原因がわかりません。
どなたか、ご教授ください。
コード:
public class PartsA : WebPart
{
    public PartsA ()
    {
        Button button = new Button();
        button.Click += new EventHandler(Button_Click);
           ・
           ・
           ・
    }
    
    private void Button_Click(object sender, System.EventArgs e)
    {
         // クリック時にも呼ばれていない
         ・
         ・
    }
}

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-04-16 18:25
引用:

JBOYさんの書き込み (2007-04-16 16:53) より:

Webパーツで以下のようなコードを書いていますが、ボタンクリック時のイベントが発生しません。原因がわかりません。


コードの内容だけでは 'button' がこの後どうなっているかわかりません。
PartsA に加えていますか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
JBOY
ベテラン
会議室デビュー日: 2003/02/27
投稿数: 72
投稿日時: 2007-04-17 17:46
じゃんぬねっとさん

回答ありがとうございます。
返信が遅れてしまい、申し訳ありませんでした。

this.Controls.Add(button);
をしていませんでした。
すっかりしているもんだと思い込んでいました。
あと、コンストラクタではなく、CreateChildControls()に
初期化のコードを入れたら無事に動きました。
なぜ、CreateChildControls()なのかは、
わかっていませんが・・。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-04-17 18:00
引用:

JBOYさんの書き込み (2007-04-17 17:46) より:

this.Controls.Add(button); をしていませんでした。すっかりしているもんだと思い込んでいました。あと、コンストラクタではなく、CreateChildControls()に初期化のコードを入れたら無事に動きました。なぜ、CreateChildControls()なのかは、わかっていませんが・・。


PreRender イベントあたりの '順序' を調べるとスッキリするかもしれません。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

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