0

我正在尝试在asp.net(VB)上实现一个带有复选框列的gridview。当用户选中复选框并单击删除按钮时,它应该访问数据库并删除所有选中的项目。我已经尝试了许多谷歌搜索解决方案,但从未为我工作过。这是我的 aspx 页面上的简短场景: 1)按 id 文本框搜索,当用户输入 ID 并单击搜索按钮时,将显示下表

<asp:GridView ID="MyGridView" runat="server">
<Columns>
<asp:TemplateField headertext="Name">
<ItemTemplate>
<asp:Label id="namelbl" 
text='<%# Eval("name")%>' runat="server"/>
</ItemTemplate>   
</asp:TemplateField>
<asp:TemplateField HeaderText="Delete Now?">
<ItemTemplate>
 <asp:CheckBox Enabled="true"   ID="chkStatus" runat="server" />

</ItemTemplate>      
</asp:TemplateField>
 </Columns>
 </asp:GridView>

显示数据后,用户选中所需的复选框并单击删除按钮,然后运行后面的代码

Protected Sub DelSelected(ByVal sender As Object, ByVal e As System.EventArgs)
Dim idList as ArrayList = new ArrayList()
For Each row As GridViewRow In MyGridView.Rows
    Dim selectcb As CheckBox = CType(row.FindControl("chkStatus"), CheckBox)
     If (selectcb.Checked) Then
     'put into delete list

麻烦从这里开始,selectcb 复选框总是错误​​的怎么会发生这种情况,任何想法将不胜感激谢谢

4

1 回答 1

1

您必须仅在没有 IsPostback 时才绑定您的数据,以保持选中的复选框,并且不重置

If(! IsPostBack)
{
  Bind();
}
于 2012-07-06T10:00:43.680 回答