2011-07-02 46 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; 
}