繁体   English   中英

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

[英]How to differentiate updating or inserting in GridView OnUpdating Event?

我使用ASP.NET在我的Web应用程序的工作,我进入了一个情况,我需要区分更新插入在GridView控件更新事件的情况。

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

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

在此处输入图片说明

我在GridView之外有一个Add Button,单击后,将新的Row添加到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作为标志之类的东西。

在此先感谢您。

您可以根据该命令名称值识别事件

例如。

 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>  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM