Hatena::ブログ(Diary)

山歩きプログラマー RSSフィード

2012-12-26

ASP.NET: 動的にサーバーコントロールを追加、イベントハンドラを登録、引数を指定

| 11:46 | ASP.NET: 動的にサーバーコントロールを追加、イベントハンドラを登録、引数を指定を含むブックマーク

ASP.NET(C#)で動的に複数のサーバーコントロールを追加して、ボタンクリックのイベントハンドラを登録しそれに引数で値を渡す。

やりたい事:

  1. 動的に複数のリンクボタンを追加
  2. そのリンクボタンにボタンクリックのイベントハンドラを登録
  3. ボタンクリックのイベントハンドラ引数で値渡し

//ページロード

protected void Page_Load(object sender, EventArgs e){

        //リンクボタンを動的に複数追加

        for(int i=0; i<10; i++){

                LinkButton LBtn = new LinkButton();

                LBtn.Text = "リンクボタン" + i.ToString();

                //イベントハンドラに渡す引数を指定

                LBtn.CommandArgument = i.ToString();

                //イベントハンドラの登録

                LBtn.Command += this.LBtn_Click;

                //リンクボタンの追加

                this.Page.Controls.Add(LBtn);

        }

}

//動的に作成されたリンクボタンに登録するイベントハンドラ

protected void LBtn_Click(object sender, CommandEventArgs e){

        Response.Write(e.CommandArgument.ToString());

}

トラックバック - http://d.hatena.ne.jp/sodomojo/20121226/1356489960
リンク元