小弟在实现一个类似邮箱通讯录的功能,想要完成多条记录的一次性删除。
网页上都是使用checkbox控件,可是我不清楚如何获得checkbox的信息。
<input type="checkbox" id="check"+"<% =i %>" />这样我不太清楚如何访问该控件。
<asp:checkbox ID="checkbox"+"<% =i%>" runat=server>同样不行。
请各位指点!

解决方案 »

  1.   

    1 加个模版列然后放id(唯一)2 遍历控件,把有check的那一行的id读出来3 删除
      

  2.   

    补充:
    DataGrid中的模板列:
    <asp:TemplateColumn HeaderText="选   取"> <ItemTemplate> <asp:CheckBox ID="checkbox_Select" Runat="server" Checked="false" />
    </ItemTemplate>
    </asp:TemplateColumn>
    遍历DataGrid取值
     For i = 0 To count - 1
                Dim cd As CheckBox = Datagrid1.Items(i).FindControl("checkbox_Select")
                If cd.Checked = True Then
                   Datagrid1.Items(i).Cells(1).Text
                    。
                Else
                End If
    Next
      

  3.   

    一个遍历就解决了:获取所有ID,然后delete from [table] where id in (...)
      

  4.   

    repeater + checkbox(Html控件)
    提交后checkbox会自动组合成为 1,2,3,4,5,6,7,8 这种形式字符串,当然是你选中的才会提交过来。注意,以上操作用的除了repeater用来循环数据以外,其它的都使用Html控件实现。然后直接传送到存储过程就行了。 create procedure sp_delInfo_byCheckID
    @chkid nvarchar(100)
    as declare @sql nvarchar(1000)
    set @sql = 'delete tablename where id in ('+@chkid +')'
    exec sp_executesql @sql;
    GO
      

  5.   

    create procedure sp_delInfo_byCheckID
    @chkid nvarchar(100)
    as declare @sql nvarchar(1000)
    set @sql = 'delete tablename where id in ('+@chkid +')'
    exec sp_executesql @sql;
    GO
      

  6.   

    Datagrid1.Items(i).FindControl("checkbox_Select")
      

  7.   

    noood(肥田) 的思路 是对的。。
    UP