ASP.NET ObjectDataSource UpdateMethod异常处理

ASP.NET ObjectDataSource UpdateMethod异常处理

问题描述:

我的页面上有一个与ObjectDataSource相连的GridView控件,其中TypeName =“BLL.MyLogic”DataObjectTypeName =“BLL.MyObject”UpdateMethod =“MyUpdateMethod”。ASP.NET ObjectDataSource UpdateMethod异常处理

MyUpdateMethod中的更新是有条件的,我正在检查_datacontext.submitchanges()之前的条件。根据我的检查,我会抛出像(“不唯一”)或(“没有适当的逻辑找到”)等异常。我通过我的ObjectDataSource的OnUpdated =“MyDataUpdated”在页面级捕获这些异常。

这些操作工作正常。问题在于该过程完成后,甚至在发生“发生异常”的情况下,GridView被重新加载并且editindex = -1(启动)。即使我手动检索editindex并使其可编辑,edittemplate中的表单数据(由用户输入的数据)也会被删除。 ViewState在这里不起作用。

这种情况的工作是什么?

在此先感谢。

+0

请张贴您的代码。 – TheGeekYouNeed 2011-02-18 00:39:32

您是否尝试过在您的RowUpdated事件处理函数中将GridViewUpdatedEventArgs.KeepInEditMode property设置为true?

+0

感谢您的回复。 KeepInEditMode更多地与GridView相关,而与objectdatasource相关。 Challange不是为了保持编辑模式。 Challange将随输入数据一起保持编辑模式。换句话说,使其表现得像验证失败。 在我的情况下,我将它保留在editmode中,但是由于objectdatasource中的SelectMethod在更新后立即被调用,所以我的gridview正在重新加载并丢失编辑模板中输入控件的viewstate数据。 – 2011-02-18 05:47:43