是否可以同时使用gridview1_rowcommand和gridview1_rowdeleting?

时间:2012-01-17 20:54:25

标签: c#

我有一个类似

的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并出错。

我该如何做到这一点?

1 个答案:

答案 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
}