我一次又一次地收到这个错误。
将数据加载到 GridView 中可以正常工作,但是当我想删除一行时,我收到了该错误。
<asp:GridView ID="OrdersGridView" runat="server" AutoGenerateColumns="False" onrowdeleted="OrdersGridView_RowDeleted">
<Columns>
<asp:TemplateField HeaderText="Product Name">
<ItemTemplate>
<asp:HiddenField runat="server" ID="HiddenField1" Value='<%#Eval("oid")%>'></asp:HiddenField>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="titel" HeaderText="Name" />
<asp:BoundField DataField="oid" HeaderText="Itemno" />
<asp:BoundField DataField="prijs" HeaderText="Price" />
<asp:CommandField ButtonType="Link" CausesValidation="false" HeaderText="Update" ShowDeleteButton="True" />
<asp:BoundField DataField="prijs" HeaderText="Subtotal" />
</Columns>
</asp:GridView>
C# 代码隐藏 - 我并没有真正从数据库中删除该行,但这是一个测试:
protected void OrdersGridView_RowDeleted(object sender, System.Web.UI.WebControls.GridViewDeletedEventArgs e)
{
if (e.Exception != null)
{
lblStatus.Text = e.Exception.ToString();
}
else
{
string sValue = ((HiddenField)OrdersGridView.SelectedRow.Cells[1].FindControl("HiddenField1")).Value;
lblStatus.Text = sValue;
}
}
但点击后,我得到一个大黄页,其中包含下一个错误:
GridView“OrdersGridView”触发了未处理的事件 RowDeleting。
具有“删除”按钮,甚至是 GridView 中 CommandName 为“删除”的常规按钮,都会自动尝试触发 OnRowDeleting。您可以添加它来让事情变得愉快,但不要让它做任何事情,这样它就不会影响您的删除行为。
您可以将 OnRowDeleting 添加到 GridView:
<asp:GridView ID="OrdersGridView" runat="server" AutoGenerateColumns="False" onrowdeleted="OrdersGridView_RowDeleted" OnRowDeleting="OrdersGridView_RowDeleting">
然后在您的 CodeBehind 中添加:
void OrdersGridView_RowDeleting (object sender, GridViewDeleteEventArgs e)
{
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)