![](/img/trans.png)
[英]ASP.NET Gridview OnUpdating event not updating decimal value
[英]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中有一个ItemTemplate和EditItemTemplate ,当单击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.