2014-01-10 28 views
1

代码示例ASPX VB:多重删除不会工作(asp.net VB)后面的代码

Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDelete.Click 

    For Each row As GridViewRow In GridView1.Rows 

     Dim checkbox As CheckBox = CType(row.FindControl("chkdelete"), CheckBox) 

     If checkbox.Checked Then 

      Dim ID As Integer = Convert.ToInt32(GridView1.DataKeys(row.RowIndex).Value) 

      SqlDataSource1.DeleteParameters("ID").DefaultValue = ID.ToString() 

      SqlDataSource1.Delete() 

     End If 

    Next row  

前代码:
`

  <Columns> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:CheckBox ID="chkdelete" runat="server" /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:BoundField DataField="ID" HeaderText="No" 
       SortExpression="ID"/> 
      <asp:BoundField DataField="Name" HeaderText="Name" 
       SortExpression="Name"/> 
      <asp:CommandField Headertext="Edit" ShowEditButton="True" /> 
      <asp:CommandField Headertext="Delete" ShowDeleteButton="True" /> 
     </Columns>  
    </asp:GridView> 
    <asp:Button ID="btnDelete" runat="server" Text="Delete" onclick="btnDelete_Click"/>` 

我的问题是,为什么我多次删除仍然不会工作?我的代码有什么问题?任何人请求帮助..

+1

为什么[tag:asp-classic]标签? –

+0

当您尝试删除多行时,是否会收到任何异常? –

+0

theres没有任何例外,但不知道为什么,多个del不会工作。 –

回答

0
Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDelete.Click 
    For Each row As GridViewRow In GridView1.Rows 
    Dim checkbox As CheckBox = CType(row.FindControl("chkdelete"), CheckBox) 
     If checkbox.Checked Then 
      Dim ID As Integer = Convert.ToInt32(GridView1.DataKeys(row.RowIndex).Value) 
      Delete(ID) 
     End If 

    Next row 

End Sub 

Public Function Delete(ByRef ID as Integer) 
' Your Connection Coding comes here 

    SqlDataSource1.DeleteParameters("ID").DefaultValue = ID.ToString() 
    SqlDataSource1.Delete() 
End Function 

试试这种方式..!