我正在使用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上)。
我在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作为标志。
先谢谢你。
答案 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>