2010-10-13 5 views
1

Je sais ceci une question fréquemment posée, mais je ne peux pas trouver la solution. J'espère que tu peux m'aider. J'essaie de lier les commandes de l'imagebuttonbutton dans un gridview. je veux gérer les données de la ligne où le bouton a été cliquéGrindview avec imagebutton et rowcommand

mon fichier ASPX ressemble

<asp:ImageButton ID="Button1" 
            runat="server" 
            ImageUrl="~/Images/deny.png" 
            Height="45" Width="45" 
            CommandName="SelectComment" 
            CommandArgument='<%# Container.DataItemIndex %>' /> 

et le fichier vb ressemble

Protected Sub KontaktAnfragen_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles KontaktAnfragen.RowCommand 

    Dim rowIndex As Integer 
    Dim commentHiddenField As HiddenField 

    If e.CommandName = "SelectComment" Then 
     rowIndex = Integer.Parse(e.CommandName.ToString) 

Le problème ist que la page ne gère pas le clic. il ne nothing.it même ne pas sauter dans la fonction RowCommand

Meilleures salutations

Répondre

2

Si je comprends bien votre code correctement, vous devez ajouter OnClick="KontaktAnfragen_RowCommand" au ImageButton.

2

Vous devez attribuer le « KontaktAnfragen_RowCommand » à l'événement OnRowCommand de Gridview le bouton d'image est.

OnRowCommand="KontaktAnfragen_RowCommand" 

Je viens de remarquer, dans votre code aboove, si vous ne comptez pas utiliser la valeur CommandArgument au lieu du CommandName valeur pour le rowIndex?

Aussi, je ne suis pas sûr que vous devez utiliser ToString mais si vous le faites, utilisez ToString() au lieu de ToString car il s'agit d'un appel de méthode.

Quelque chose comme ça (inclus la mise en forme de l'instruction if, etc ..) ?:

if (e.CommandName == "SelectComment") Then 
     rowIndex = Integer.Parse(e.CommandArgument)