动态添加控件并添加事件(转)


private void Page_Load(object sender, System.EventArgs e)
  {
   Button Button1 = new Button();
   Button1.CommandArgument = “b1“;
   Button1.Text = “Btn1“;
   Button1.Command += new CommandEventHandler(this.OnButton);
   PlaceHolder1.Controls.Add(Button1);
   Button Button2 = new Button();
   Button2.CommandArgument = “b2“;
   Button2.Text = “Btn2“;
   Button2.Command += new CommandEventHandler(this.OnButton);
   PlaceHolder1.Controls.Add(Button2);


   Control c3 = ParseControl(“〈asp:Button id=’Button3’ text=’Btn3’ commandname=’Btn’ commandargument=’b3’ runat=’server’ /〉“); //将字符串转换成web控件
   Control c4 = ParseControl(“〈asp:Button id=’Button4’ text=’Btn4’ commandname=’Btn’ commandargument=’b4’ runat=’server’ /〉“);
   PlaceHolder1.Controls.Add(c3);
   PlaceHolder1.Controls.Add(c4);
   Button myBut = (Button)Page.FindControl(“Button3“);
   myBut.Command += new CommandEventHandler(this.OnButton);
   Button myBut2 = (Button)Page.FindControl(“Button4“);
   myBut2.Command += new CommandEventHandler(this.OnButton);
  }
  public void OnButton(Object Sender, CommandEventArgs e)
  {
   switch (e.CommandArgument.ToString().ToLower())
   {
    case “b1“:
     Label1.Text = “Button 1“;
     break;
    case “b2“:
     Label1.Text = “Button 2“;
     break;
    case “b3“:
     Label1.Text = “Button 3“;
     break;
    case “b4“:
     Label1.Text = “Button 4“;
     break;
   };
  }

    本文来自“十万个为什么”电脑学习网 http://www.why100000.com

posted @ 2008-05-22 14:29  acme  阅读(252)  评论(0编辑  收藏  举报