2009-04-22 15 views
1

HTML:Comment faire un linkbutton onclick avec des paramètres

<asp:LinkButton ID="lnk_productImage" runat="server" Text="select" 
    OnClick="viewProductImage('<%#DataBinder.Eval(Container.DataItem,"Id") %>')" 
    > 
</asp:LinkButton> 

CodeBehind:

protected void viewProductImage(object sender, EventArgs e, int id) 
{ 
    //Load Product Image 
} 
+0

désolé mauvais code post. ')"> (expéditeur d'objet, EventArgs e) viewProductImage protected void { } –

+0

s'il vous plaît, modifiez votre code et mettez ce qui est dans votre commentaire – eKek0

Répondre

6

Utilisez la propriété CommandArgument de linkbutton pour passer des paramètres.

propriété CommandArgument:

Obtient ou définit un argument facultatif transmis au gestionnaire d'événements de commande avec la propriété de nom de commande associée.

LinkButton Members

+0

Ouais mais votre aide de la linkbutton dans une ligne de modèle gridview vous pouvez Ne fais pas ça si je ne me trompe pas? – DazManCat

+0

ahhh désolé cerveau pet. Vous devrez le faire pour obtenir la valeur (expéditeur (LinkButton)) .CommandArgument – DazManCat

8

Je vois que vous utilisez un répéteur, vous pouvez probablement utiliser ce code:

Dans votre modèle de répéteur:

<asp:Repeater ID="_postsRepeater" runat="server" OnItemCommand="_postsRepeater_ItemCommand"> 
    <ItemTemplate><asp:LinkButton ID="_postDeleteLinkButton" runat="server" CommandName="DeletePost" CommandArgument="<%# ((Post)Container.DataItem).ID %>">Delete</asp:LinkButton></ItemTemplate> 
</asp:Repeater> 

gérer ensuite l'événement ItemCommand du répéteur:

protected void _postsRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    if (e.CommandName == "DeletePost") // Replace DeletePost with the name of your command 
    { 
     // Get the passed parameter from e.CommandArgument 
     // e.g. if passed an int use: 
     // int id = Convert.ToInt32(e.CommandArgument); 
    } 
}