System.argumentoutofrangeexception: индекс был вне диапазона. Должно быть неотрицательным и меньше размера коллекции. Имя параметра: индекс
Привет я все еще новичок в этом деле VB.Net. Я пытался сделать индексный пейджинг, и это было прекрасно для первого, второго и следующего пейджинга.Но когда я нажал на последнюю страницу, вышла ошибка.
- Индекс был вне досягаемости. Должно быть неотрицательным и меньше размера коллекции.Имя параметра: индекс"
Мой код выглядит следующим образом:
Что я уже пробовал:
Protected Sub gvadmin_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles gv_admin.RowCommand Dim index As Integer = Convert.ToInt32(e.CommandArgument) Dim row As GridViewRow = gv_admin.Rows(index) If (e.CommandName = "viewdoc") Then Dim revno As String = gv_admin.DataKeys(index).Values(0).ToString() Dim dept As String = gv_admin.DataKeys(index).Values(1).ToString() Dim ki As String = gv_admin.DataKeys(index).Values(2).ToString() Dim url As String = "ScheduleViewDoc.aspx" Dim s As String = "window.open('" & url & "?" & "revno=" & revno & "&eqdept=" & dept & "&ki=" & ki & "', 'popup_window', 'width=1450,height=700,left=10,top=10,resizable=no');" ClientScript.RegisterStartupScript(Me.GetType(), "script", s, True) BindGrid1() ElseIf (e.CommandName = "viewstatus") Then Dim eqstatus As String = gv_admin.DataKeys(index).Values(3).ToString() 'Dim url As String = "MasterlistViewStatus.aspx" 'Dim s As String = "window.open('" & url & "?" & "eqstatus=" & status & "', 'popup_window', 'width=450,height=500,left=10,top=10,resizable=no');" 'ClientScript.RegisterStartupScript(Me.GetType(), "script", s, True) liststatus(eqstatus) mpstatus.Show() BindGrid1() End If End Sub
Ошибка --> Dim row As GridViewRow = gv_admin.Строки(индекс)
Bryian Tan
Не ясно, что в e.CommandArgument. Я предполагаю, что он проходит (1,2,3,45,6...)? Индекс строк начинается с 0,1,2,3,4,5 ... попробуйте gv_admin.Строки(индекс-1)