0

asp.net (VB) でチェックボックス列を使用してグリッドビューを実装しようとしています。ユーザーがチェックボックスをオンにして削除ボタンをクリックすると、データベースにアクセスして、チェックされたすべてのアイテムを削除する必要があります。私はすでに多数のグーグルソリューションを試しましたが、うまくいきませんでした。ここに私の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 です。

4

1 に答える 1

1

チェックボックスの選択を維持するためにIsPostbackがなく、リセットがない場合にのみ、データをバインドする必要があります

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