2016-08-24 1 views
1

Ich möchte Ereignisse zu jedem ImageButton von Code hinter zuweisen, aber ich kann nicht herausfinden, wie man einen richtigen schreibt.zuweisen Ereignis zu ImageButton.Click von Code hinter

foreach (string one in urls) 
{ 
    ImageButton temIBTN = new ImageButton(); 
    temIBTN.Attributes.Add("Width","265px"); 
    temIBTN.Attributes.Add("Width", "144px"); 
    temIBTN.ImageUrl = one; 
    temIBTN.Click += 
    new EventHandler(setBigPic(sender, e, one));//<---don't know how... 
} 



protected void setBigPic(object sender, ImageClickEventArgs e,string url) 
{ 

    img_Big.ImageUrl = url; 

} 

Antwort

1

Ihre Methodensignatur für den Event-Handler war falsch, und Sie müssen die ImageUrl vom Button erhalten, die das Ereignis ist zu feuern. Dies sollte es tun:

foreach (string one in urls) 
{ 
    ImageButton temIBTN = new ImageButton(); 
    temIBTN.Attributes.Add("Width","265px"); 
    temIBTN.Attributes.Add("Width", "144px"); 
    temIBTN.ImageUrl = one; 
    temIBTN.Click += setBigPic; 
} 

protected void setBigPic(object sender, ImageClickEventArgs e) 
{ 
    img_Big.ImageUrl = ((ImageButton)sender).ImageUrl; 
}