Le code suivant fonctionne très bien sur la page 1 de données à l'intérieur d'un contrôle Asp.net Gridview:Index hors erreur de plage lors de l'utilisation row.FindControl l'intérieur d'un événement RowCommand Asp.net Gridview avec Paging Activé
If e.CommandName = "Void" Then
'Read the status of the ticket currently
Dim RowIndex As Integer = CInt(e.CommandArgument)
Dim row As GridViewRow = grdTradeTickets.Rows(RowIndex)
Dim lblTransactionID As Label = DirectCast(row.FindControl("lblTransactionID"), Label)
Dim lblTtStatus As Label = DirectCast(row.FindControl("lblTtStatus"), Label)
Dim lblTradeTicketID As Label = DirectCast(row.FindControl("lblTradeTicketID"), Label)
'If already void, show "Already Void" message to user. Else continue "Are you sure you want to void this Trade Ticket?"
If lblTtStatus.Text = "Void" Then
mdlPopupAlready.show()
Else
mdlPopup.Show()
lblTradeTicketIdToVoid.Text = lblTradeTicketID.Text
End If
End If
Cependant Si l'utilisateur clique sur le bouton "Annuler" sur une page ultérieure, l'erreur suivante est levée:
"L'index était hors plage, doit être non négatif et inférieur à la taille de la collection.
Ce n'est pas comme si l'index était nul ou quelque chose comme ça. Il a une valeur. Pensées?
Pouvez-vous poster le balisage de la grille? – Macros