2012-05-20 2 views
0

J'ai deux ImageButtons:Deux Imagebutton avec le même événement OnClick.

<asp:ImageButton ID="img1" runat="server" Width="50px" Height="50px" OnClick="CheckIMG" ImageUrl="../Icons/123.png" /> 
<asp:ImageButton ID="img2" runat="server" Width="50px" Height="50px" OnClick="CheckIMG" ImageUrl="../Icons/456.png" /> 

et la méthode est:

protected void CheckIMG(object sender, ImageClickEventArgs e) 
{ 
    HiddenField imgNameHF = (HiddenField)DetailsView1.FindControl("sent_info_to_db_HF"); 
    imgNameHF.Value = "'<%# CheckValue(Eval('" + img.ImageUrl + "')%>'"; 
} 

Comment puis-je obtenir sur la ligne: img.ImageUrl du ImageButton que l'utilisateur cliquée?

Par exemple:

  • Si img1 cliquée si la ligne sera: img1.ImageUrl

  • Si img2 cliquée si la ligne sera: img2.ImageUrl

+0

Où est votre ImageButton dans DetailsView ou d'un site sur? – jams

+0

Hors de la vue détaillée. seul le hidenfield est sur le DV. – Oshrib

Répondre

3

Vous pouvez essayer cette .

protected void CheckIMG(object sender, ImageClickEventArgs e) 
{ 
    HiddenField imgNameHF = (HiddenField)DetailsView1.FindControl("sent_info_to_db_HF"); 
    ImageButton imgb=(ImageButton) sender; 
    imgNameHF.Value = "'<%# CheckValue(Eval('" + imgb.ImageUrl + "')%>'"; 
} 
+0

incroyable :). merci – Oshrib

+0

hors cours ... 10 minutes après le post pour la marque comme réponse. – Oshrib

1

Vous pouvez également essayer ceci:

protected void CheckIMG(object sender, ImageClickEventArgs e) 
{ 
    HiddenField imgNameHF = (HiddenField)DetailsView1.FindControl("sent_info_to_db_HF"); 
    ImageButton imgb = sender as ImageButton; 
    imgNameHF.Value = "'<%# CheckValue(Eval('" + imgb.ImageUrl + "')%>'"; 
} 
Questions connexes