【发布时间】:2020-10-13 09:48:34
【问题描述】:
我正在尝试在分页之间存储复选框值,因此如果我从一页转到另一页并返回,选中的复选框将持续存在。
Protected Sub gv_InforWO_PageIndexChanging(sender As Object, e As GridViewPageEventArgs)
Try
gv_InforWO.PageIndex = e.NewPageIndex
If chkFiltersAvailable.Checked = False Then
chkSelectAll.Checked = False
BindGridInfoWO()
'btnSync_Click(Nothing, Nothing)
Else
BindGridInfoWO()
' btnSync_Click(Nothing, Nothing)
End If
'checkbox persistence code
Dim d As Integer = gv_InforWO.PageCount
Dim values() As Boolean = New Boolean((gv_InforWO.PageSize) - 1) {}
Dim chb As CheckBox
Dim count As Integer = 0
Dim i As Integer = 0
Do While (i < gv_InforWO.Rows.Count)
chb = CType(gv_InforWO.Rows(i).FindControl("chkSelect"), CheckBox)
If (Not (chb) Is Nothing) Then
values(i) = chb.Checked
End If
i = (i + 1)
Loop
Session(("page" + CType(gv_InforWO.PageIndex, String))) = values
Catch ex As Exception
lblWaitingMsg.Text= ex.Message
End Try
End Sub
预渲染时
Protected Sub gv_InforWO_PreRender(sender As Object, e As EventArgs)
Try
If (Not (Session(("page" + CType(gv_InforWO.PageIndex, String)))) Is Nothing) Then
Dim chb As CheckBox
Dim values() As Boolean = CType(Session(("page" + CType(gv_InforWO.PageIndex, String))), Boolean())
Dim i As Integer = 0
Do While (i < gv_InforWO.Rows.Count)
chb = CType(gv_InforWO.Rows(i).FindControl("chkSelect"), CheckBox)
chb.Checked = values(i)
i = (i + 1)
Loop
End If
Catch ex As Exception
End Try
End Sub
但即使我勾选框,它也不会保留该值并且为 false。
【问题讨论】:
标签: asp.net vb.net checkbox gridview webforms