2011-07-02 45 views
1

我想动态添加imgbutton我工作,但我想当用户点击其中一个然后他将被发送到图像页面,在这种情况下是在img.Id所以现在该怎么做。如何将一个事件添加到我的代码中,然后开始工作。的控件?如何在动态添加控件时捕获OnclickEvent事件?

  { ImageButton img = new ImageButton(); 
      img.ID = "projectimg" + i.ToString(); 
      img.ImageUrl = ds.Tables[0].Rows[i][0].ToString(); 
      img.Height = 120; 
      img.Width = 120; 
      img.ToolTip = ds.Tables[0].Rows[0][1].ToString(); 
      img.OnClientClick += new System.EventHandler(this.Onclick_evn); 
      pnlgallery.Controls.Add(img); 

}

 private void Onclick_evn(object sender, EventArgs e) 
{ 
    ImageButton btn = (ImageButton)sender; 
    string link = btn.ImageUrl; 
    Image8.ImageUrl = link; 
    Image8.Height = 500; 
    Image8.Width = 500; 
} 

回答

0

OnClick而不是 OnClientClick

img.OnClick += new System.EventHandler(this.Onclick_evn); 

而且事件处理程序有一个稍微不同的签名。

private void Onclick_evn(object sender, ImageClickEventArgs e) 
{ 
    ImageButton btn = (ImageButton)sender; 
    string link = btn.ImageUrl; 
    Image8.ImageUrl = link; 
    Image8.Height = 500; 
    Image8.Width = 500; 
}