2013-01-13 35 views
7

Tôi đã tìm kiếm trong google có một cách dễ dàng để xóa một kỷ lục với xác nhận sử dụng mã này:Các GridView 'PendingRecordsGridview' RowDeleting sự kiện sa thải mà không được xử lý

<asp:templatefield HeaderText="Delete"> 
        <ItemTemplate> 
         <asp:Button ID="deleteButton" runat="server" CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure you want to delete this user?');" /> 
        </ItemTemplate> 
       </asp:templatefield> 

Nhưng khi tôi chạy nó và bấm xóa và nhấp vào "có" để xác nhận. lỗi này xuất hiện: Sự kiện RowDeleting của GridView 'PendingRecordsGridview' đã bị xử lý.

ai đó giúp tôi :(tôi cũng đã thử thêm mã này ` 'OnRowDeleting = "PendingRecordsGridview_RowDeleting" nhưng không thành công :(

Đây là mã đầy đủ GridView của tôi:

<asp:GridView OnPageIndexChanging="PendingRecordsGridview_PageIndexChanging" ID="PendingRecordsGridview" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" OnRowcommand="PendingRecordsGridview_RowCommand" DataSourceID="sd1" BorderStyle="Ridge" BackColor="White" BorderColor="Black" BorderWidth="3px" CellPadding="4" Width="1070px" PageSize="2" AllowPaging="True"> 
     <RowStyle ForeColor="#003399" HorizontalAlign="Center" /> 
     <Columns> 
      <asp:templatefield HeaderText="Accept"> 
       <ItemTemplate> 
        <asp:Button CommandArgument='<%# Bind("id") %>' ID="Button1" runat="server" CausesValidation="false" CommandName="accept" Text="Accept" /> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Delete"> 
        <ItemTemplate> 
         <asp:Button ID="deleteButton" runat="server" CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure you want to delete this user?');" /> 
        </ItemTemplate> 
       </asp:templatefield> 
      <asp:templatefield HeaderText="ID" SortExpression="ID"> 
       <EditItemTemplate> 
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>'> 
        </asp:Label> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label2" runat="server" Text='<%# Bind("ID") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="First Name" SortExpression="FirstName"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("FirstName") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label3" runat="server" Text='<%# Bind("FirstName") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Last Name" SortExpression="LastName"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("LastName") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label4" runat="server" Text='<%# Bind("LastName") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Middle Name" SortExpression="MiddleLastName"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("MiddleName") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label5" runat="server" Text='<%# Bind("MiddleName") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Address" SortExpression="Address"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Address") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label6" runat="server" Text='<%# Bind("Address") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Gender" SortExpression="Gender"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Gender") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label7" runat="server" Text='<%# Bind("Gender") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Contact No." SortExpression="ContactNumber"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("ContactNumber") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label18" runat="server" Text='<%# Bind("ContactNumber") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Plate No." SortExpression="PlateNumber"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("PlateNumber") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label19" runat="server" Text='<%# Bind("PlateNumber") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Mobile Color" SortExpression="Color"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Color") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label11" runat="server" Text='<%# Bind("Color") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Brand" SortExpression="Brand"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Brand") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label12" runat="server" Text='<%# Bind("Brand") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:templatefield HeaderText="Liscenced No." SortExpression="LiscensedNumber"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("LiscensedNumber") %>'> 
        </asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label10" runat="server" Text='<%# Bind("LiscensedNumber") %>'> 
        </asp:Label> 
       </ItemTemplate> 
      </asp:templatefield> 
      <asp:TemplateField> 
      <HeaderTemplate>Image</HeaderTemplate> 
      <ItemTemplate> 
       <img src='data:image/jpg;base64,<%# Eval("Image") != System.DBNull.Value ? Convert.ToBase64String((byte[])Eval("Image")) : string.Empty %>' alt="image" height="85" width="85"/> 
      </ItemTemplate> 
     </asp:TemplateField>  </Columns> 
     <FooterStyle BackColor="#99CCCC" ForeColor="#003399" /> 
     <PagerStyle HorizontalAlign="Center" BackColor="#999999" ForeColor="#003399" /> 
     <EmptyDataTemplate> 
      NO PENDING REQUEST! 
     </EmptyDataTemplate> 
     <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" /> 
     <HeaderStyle BackColor="#999999" Font-Bold="True" ForeColor="#003399" HorizontalAlign="Center" /> 
     <AlternatingRowStyle BorderColor="Black" BorderWidth="3px" BorderStyle="Ridge" /> 
    </asp:GridView> 
     </td> 
     <td style="height: 282px">&nbsp;</td> 
     </tr> 
    <tr> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td style="height: 37px">&nbsp;</td> 
     </tr> 
    <tr> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td valign="top"> 
<asp:SqlDataSource runat="server" id="sd1" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [PendingRecords]" DeleteCommand="DELETE FROM [PendingRecords] WHERE [ID] = ?" InsertCommand="INSERT INTO [PendingRecords] ([Username], [Password], [FirstName], [LastName], [MiddleName], [Address], [Gender], [ContactNumber], [PlateNumber], [Color], [Brand], [LiscensedNumber]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" UpdateCommand="UPDATE [PendingRecords] SET [Username] = ?, [Password] = ?, [FirstName] = ?, [LastName] = ?, [MiddleName] = ?, [Address] = ?, [Gender] = ?, [ContactNumber] = ?, [PlateNumber] = ?, [Color] = ?, [Brand] = ?, [LiscensedNumber] = ? WHERE [ID] = ?"> 
    <DeleteParameters> 
     <asp:parameter Name="ID" Type="Int32" /> 
    </DeleteParameters> 
    <UpdateParameters> 
     <asp:parameter Name="Username" Type="String" /> 
     <asp:parameter Name="Password" Type="String" /> 
     <asp:parameter Name="FirstName" Type="String" /> 
     <asp:parameter Name="LastName" Type="String" /> 
     <asp:parameter Name="MiddleName" Type="String" /> 
     <asp:parameter Name="Address" Type="String" /> 
     <asp:parameter Name="Gender" Type="String" /> 
     <asp:parameter Name="ContactNumber" Type="String" /> 
     <asp:parameter Name="PlateNumber" Type="String" /> 
     <asp:parameter Name="Color" Type="String" /> 
     <asp:parameter Name="Brand" Type="String" /> 
     <asp:parameter Name="LiscensedNumber" Type="String" /> 
     <asp:parameter Name="ID" Type="Int32" /> 
    </UpdateParameters> 
    <InsertParameters> 
     <asp:parameter Name="Username" Type="String" /> 
     <asp:parameter Name="Password" Type="String" /> 
     <asp:parameter Name="FirstName" Type="String" /> 
     <asp:parameter Name="LastName" Type="String" /> 
     <asp:parameter Name="MiddleName" Type="String" /> 
     <asp:parameter Name="Address" Type="String" /> 
     <asp:parameter Name="Gender" Type="String" /> 
     <asp:parameter Name="ContactNumber" Type="String" /> 
     <asp:parameter Name="PlateNumber" Type="String" /> 
     <asp:parameter Name="Color" Type="String" /> 
     <asp:parameter Name="Brand" Type="String" /> 
     <asp:parameter Name="LiscensedNumber" Type="String" /> 
    </InsertParameters> 
</asp:SqlDataSource> 
     </td> 
     <td>&nbsp;</td> 
     <td style="height: 33px">&nbsp;</td> 
     </tr> 
    <tr> 
     <td style="width: 32px">&nbsp;</td> 
     <td style="width: 8px">&nbsp;</td> 
     <td style="width: 87px">&nbsp;</td> 
     <td style="width: 542px">&nbsp;</td> 
     <td style="width: 447px">&nbsp;</td> 
     <td style="height: 83px; width: 34px;">&nbsp;</td> 
     </tr> 
</table> 

Trả lời

11

hãy sửa đổi của bạn đánh dấu và mã số để bao gồm các sự kiện OnRowDeleting.

<asp:GridView OnPageIndexChanging="PendingRecordsGridview_PageIndexChanging" ID="PendingRecordsGridview" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" OnRowcommand="PendingRecordsGridview_RowCommand" DataSourceID="sd1" BorderStyle="Ridge" BackColor="White" BorderColor="Black" BorderWidth="3px" CellPadding="4" Width="1070px" PageSize="2" AllowPaging="True"> 
     <RowStyle ForeColor="#003399" HorizontalAlign="Center" OnRowDeleting="PendingRecordsGridview_RowDeleting"/> 

Trên mã sau thêm phương pháp này.

public void PendingRecordsGridview_RowDeleting (Object sender, GridViewDeleteEventArgs e) 
{ 

} 
+0

vấn đề giải quyết! :) cảm ơn bạn! –

+0

Tôi đã thêm mã và nó vẫn cho tôi lỗi tương tự:/ – SearchForKnowledge

+0

@scartag Bạn có thể giải thích tại sao cần thêm sự kiện rowDeleting, ngay cả khi để trống? – Brabbeldas

19

Bạn đang thử với tên lệnh Xóa cho nút xóa của bạn. Vì vậy, các GridView tạo ra một hàng xóa sự kiện tự động ....

Bạn cần thay đổi đối số lệnh từ Xóa đến cái gì khác như Delete_Product hoặc bất cứ điều gì ...

Các vấn đề liên quan