2014-01-10 31 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 

試試這種方式..!