如何删除GridView行

时间:2010-12-10 14:55:22

标签: c# asp.net

我现在有这个代码:

<asp:TemplateField ShowHeader="False" ItemStyle-Width="150px" HeaderStyle-BackColor="#003ca1" HeaderStyle-ForeColor="white">
    <ItemTemplate>
        <asp:LinkButton ID="linkDelete" runat="server" CausesValidation="False" CommandName="Delete" OnClientClick='return confirm("Diesen Eintrag wirklich löschen?");' Text="Löschen" />
    </ItemTemplate>
</asp:TemplateField>

此时,GridView会在物理上删除该行。 我想在CodeBehind中捕获它,取消delete-operation并且只想在数据库中设置“IsDeleted”-Flag。

如何?

1 个答案:

答案 0 :(得分:1)

您可以使用GridDeDeteteEventArgs对象的RowDeleting事件和Cancel属性来执行此操作。以下是MSDN页面所说的内容:

  

单击行的“删除”按钮时,但在GridView控件删除行之前,将引发RowDeleting事件。这使您能够提供事件处理方法,以便在发生此事件时执行自定义例程,例如取消删除操作。

     

将GridViewDeleteEventArgs对象传递给事件处理方法,该方法使您能够确定当前行的索引并指示应取消删除操作。要取消删除操作,请将GridViewDeleteEventArgs对象的Cancel属性设置为true。如果需要,您还可以在将值传递给数据源之前操作Keys和Values集合。