如何在GridView OnUpdating事件中区分更新或插入?

时间:2013-03-23 07:47:58

标签: c# asp.net gridview edititemtemplate

我正在使用ASP.NET处理我的Web应用程序,我遇到了需要在GridView更新事件上区分 UPDATIng INSERTING 的情况。

 protected void GridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
 {
    //conditional check
    if(Update Flage){
        //Call Update Function
    }
    else{
        //Call Insert Function
    }
 }

我在GridView中有一个 ItemTemplate EditItemTemplate ,当点击Edit Button(在ItemTemplate上),然后更改为Update Button(在EditItemTemplate上)。

enter image description here

我在GridView外部有一个Add Button,点击后,在GridView中添加一个新行,并将Button文本更改为 ADD ,如下面的代码片段:

ds.Tables[0].Rows.InsertAt(ds.Tables[0].NewRow(), 0);
GridViewID.EditIndex = 0;

LinkButton cmdButton = GridView.Rows[0].FindControl("btnUpdate") as LinkButton;
cmdButton.Text = "Add";

我知道有插入插入的InsertItemTemplate,但在我的情况下,我使用GridView外部的Button来添加新的编辑行。

那么,我如何在RowUpdating事件上区分编辑或插入?任何推荐的技巧来实现这一目标或许类似于添加HiddenField作为标志。

先谢谢你。

1 个答案:

答案 0 :(得分:0)

您可以根据该命令名称值

识别事件

例如

 protected void GridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
     {
       string arg = e.CommandName.ToString();
    if(arg="Edit")
     {
     }
    else if(arg=="Update")
      {
      }

标记

<asp:LinkButton ID="lnkEdit" Text="Customize"  CommandName="edit"  CommandArgument='edit'  runat="server"> 
       </asp:LinkButton>