我正在尝试使用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复选框始终为false 怎么会发生这种情况,任何想法都会受到赞赏 感谢
答案 0 :(得分:1)
您必须仅在没有IsPostback时绑定您的数据才能保持选中的复选框,并且不会重置
If(! IsPostBack)
{
Bind();
}