我有一个类似
的gridview<asp:TemplateField HeaderText="File Name" SortExpression="FileName">
<ItemTemplate>
<asp:LinkButton ID="lnkname" runat="server" Text='<%#Eval("FileName") %>' CommandName='<%#Eval("FileName") %>'>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" >
<ControlStyle ForeColor="Red" />
</asp:CommandField>
Rowcommand部分运行良好。当我点击删除时,控件转到gridview1_rowcommand
而不是gridview1_rowdeleting
并出错。
我该如何做到这一点?
答案 0 :(得分:1)
如果您展示了两个事件处理程序,那将会很有帮助。
听起来你有一个row_command方法设置可以从linkbutton使用。问题是删除仍然是一个行命令,并且该事件首先触发(并且您的代码可能需要一个linkbutton命令)。所以你不需要对该命令做任何事情,然后用fire_deleting用火来做。
protected void gridview1_rowcommand(Object sender, CommandEventArgs e) {
if(e.CommandName.ToLower() != "delete") {
// do whatever you want to with linkbutton events
}
}
protected void gridview1_rowdeleting(Object sender, GridViewDeleteEventArgs e) {
// this will fire second, right before the record deletes
}