在ObjectDataSource更新事件期间取消Gridview编辑

时间:2011-07-07 15:40:38

标签: asp.net gridview objectdatasource

在我的Asp.net网页中,我有一个GridView控件,它是绑定到ObjectDataSource的数据。用户可以直接在GridView中编辑行。有时更新未通过验证。发生这种情况时,我希望正在更新的行保持编辑模式。

在onUpdating的事件处理程序中,事件args对象具有cancel属性。但我需要检查onUpdated事件处理程序中的更新是否失败,并且它没有e.Cancel属性。

所以我需要知道如果更新失败,如何让GridView行保持编辑模式。

3 个答案:

答案 0 :(得分:4)

很简单,您可以保持编辑模式e.KeepInEditMode = true;

protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
    e.KeepInEditMode = true;
}

答案 1 :(得分:0)

解决此问题的一种方法是使用验证控件,如果验证未通过,将限制用户发送请求。

但是为了使gridview保持更新模式,你必须保留其编辑索引属性,因为当gridview不处于编辑模式时,它的编辑索引通常设置为-ve value,但如果它处于编辑模式,gridview编辑索引是设置为某个正整数值。

你也可以参考这个链接: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridviewupdatedeventargs.keepineditmode.aspx

答案 2 :(得分:0)

将EditIndex值保存在变量中。取消gridview更新bu GridView1.EditIndex=-1;然后保持Gridview处于编辑模式,您可以再次使用先前保存的索引值设置EditIndex值。