动态生成多个ImageButton 
System.Web.UI.WebControls.ImageButton ImageBox = new System.Web.UI.WebControls.ImageButton();
ImageBox.ImageUrl="upimage/"+ r1["imagepath"].ToString();
ImageBox.Click +=new  System.Web.UI.ImageClickEventHandler(aa);
private void aa(object O, System.Web.UI.ImageClickEventArgs E)
{
  如何区分是哪个ImageButton 引发的事件呢
}

解决方案 »

  1.   

    give them different id'sSystem.Web.UI.WebControls.ImageButton ImageBox = new System.Web.UI.WebControls.ImageButton();
    ImageBox.ImageUrl="upimage/"+ r1["imagepath"].ToString();
    ImageBox.ID = "xxx";
    ImageBox.Click +=new  System.Web.UI.ImageClickEventHandler(aa);
    private void aa(object sender, System.Web.UI.ImageClickEventArgs E)
    {
      ImageButton ib = (ImageButton)sender;
      if (ib.ID == "xxx")
       ....
      //
    }
      

  2.   

    动态生成每个IMAGEBUTTON的CommandArgument ;然后是用 private aa(object sender, System.Web.UI.WebControls.CommandEventArgs e)
    {
    string Args=e.CommandArgument.ToString();
    switch(Args)
    {
       case "动态生成的CommandArgument":
                      //执行代码
    }
    }
      

  3.   

    应该是 private void aa(object sender, System.Web.UI.WebControls.CommandEventArgs e)
    少写了个 void .
    HOHO
      

  4.   

    这个我今天晚上刚做完了。saucer(思归) 
    答案正解。
      

  5.   

    private void aa(object sender, System.Web.UI.ImageClickEventArgs E)
    {
      ImageButton imgBtn = (ImageButton)sender;
      if (imgBtn.ID == "XXXXX")
      {
         ....
      }
    }