2013-01-13 34 views
7

我在谷歌搜索有使用此代码删除一条记录与确认一个简单的方法:GridView控件“PendingRecordsGridview”解雇事件RowDeleting这是没有处理

<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> 

但是当我运行它,然后单击删除并点击“是”进行确认。出现此错误: GridView的'PendingRecordsGridview'触发了未处理的事件RowDeleting。

有人帮助我:(我也已经尝试添加该代码``OnRowDeleting = “PendingRecordsGridview_RowDeleting”,但没有成功:(

这里是我的GridView全码:!

<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> 

回答

11

请修改您的标记和代码以包括​​事件。

<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"/> 

在后面的代码中添加此方法。

public void PendingRecordsGridview_RowDeleting (Object sender, GridViewDeleteEventArgs e) 
{ 

} 
+0

问题解决了! :) 谢谢你! –

+0

我添加了代码,它仍然给我同样的错误:/ – SearchForKnowledge

+0

@scartag你能解释为什么需要添加rowDeleting-event,即使留空了吗? – Brabbeldas

19

您正在尝试命令名称为删除为您的删除按钮。所以在GridView创建一个行自动删除事件....

您需要更改从命令参数删除别的东西像Delete_Product或任何...