在我的Asp.net网页中,我有一个GridView控件,它是绑定到ObjectDataSource的数据。用户可以直接在GridView中编辑行。有时更新未通过验证。发生这种情况时,我希望正在更新的行保持编辑模式。
在onUpdating的事件处理程序中,事件args对象具有cancel属性。但我需要检查onUpdated事件处理程序中的更新是否失败,并且它没有e.Cancel属性。
所以我需要知道如果更新失败,如何让GridView行保持编辑模式。
答案 0 :(得分:4)
很简单,您可以保持编辑模式e.KeepInEditMode = true;
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
e.KeepInEditMode = true;
}
答案 1 :(得分:0)
解决此问题的一种方法是使用验证控件,如果验证未通过,将限制用户发送请求。
但是为了使gridview保持更新模式,你必须保留其编辑索引属性,因为当gridview不处于编辑模式时,它的编辑索引通常设置为-ve value,但如果它处于编辑模式,gridview编辑索引是设置为某个正整数值。
答案 2 :(得分:0)
将EditIndex值保存在变量中。取消gridview更新bu GridView1.EditIndex=-1;
然后保持Gridview处于编辑模式,您可以再次使用先前保存的索引值设置EditIndex值。