У меня проблема с gridview и checkbox в asp.net. Я связываю сетку на странице загрузки и добавления атрибутов с флажком в функции BindGrid():Проблема с checkbox в GridView
chkSelection.Attributes.Add("onclick", "AbortPostBack(); __doPostBack('" + chkSelection.UniqueID + "','');")
AddHandler chkSelection.CheckedChanged, AddressOf ChkSelector_CheckedChanged
На странице 1 Я выбираю несколько строк. Перейдите на страницу 2, выберите другую строку. Как только я это сделаю, вся сетка просто исчезнет!
На отладку, я обнаружил, что grdSelect.Rows 0 в функции ReadGrid() ниже:
in Page_Load
If Not Page.IsPostBack Then
BuildData()
BindGrid()
RenumberPager()
Dim ctlControl As UserControl = PageUtility.SearchControl(Page.Master, "ctlLeadsCount")
CType(ctlControl, leadscount).Count = m_SelectedRecords.Count
Else
ReadGrid()
End If
in ReadGrid
For Each row As GridViewRow In grdSelect.Rows
Dim chkSelection As CheckBox = CType(row.FindControl("ChkSelector"), CheckBox)
If Not chkSelection Is Nothing Then
Dim recNumK As DataKey = CType(grdSelect.DataKeys(row.RowIndex), DataKey)
Dim recNum As String = recNumK.Value.ToString()
m_SelectedRecords.Remove(recNum)
If chkSelection.Checked = True Then
For Each rec As Record In m_data
If rec(BusinessFieldNames.UniqueId) = recNum Then
m_SelectedRecords(recNum) = rec(BusinessFieldNames.UniqueId)
Exit For
End If
Next
End If
End If
Next
ViewState("Cherry") = m_SelectedRecords
Любые предложения/указатели были бы оценены.
Вы создаете свою сетку динамически или объявляете ее на странице aspx? – Dante
Он объявлен на странице aspx. –