private bool HandleUpdateCallback(int affectedRows, Exception ex) { DetailsViewUpdatedEventArgs dea = new DetailsViewUpdatedEventArgs(affectedRows, ex); dea.SetOldValues(_updateOldValues); dea.SetNewValues(_updateNewValues); dea.SetKeys(_updateKeys); OnItemUpdated(dea); _updateKeys = null; _updateOldValues = null; _updateNewValues = null; if (ex != null && !dea.ExceptionHandled) { // If there is no validator in the validation group that could make sense // of the error, return false to proceed with standard exception handling. // But if there is one, we want to let it display its error instead of throwing. if (PageIsValidAfterModelException()) { return false; } dea.KeepInEditMode = true; } if (IsUsingModelBinders && !Page.ModelState.IsValid) { dea.KeepInEditMode = true; } if (!dea.KeepInEditMode) { DetailsViewModeEventArgs eMode = new DetailsViewModeEventArgs(DefaultMode, false); OnModeChanging(eMode); if (!eMode.Cancel) { Mode = eMode.NewMode; OnModeChanged(EventArgs.Empty); RequiresDataBinding = true; } } return true; }
private bool HandleUpdateCallback(int affectedRows, Exception ex) { DetailsViewUpdatedEventArgs e = new DetailsViewUpdatedEventArgs(affectedRows, ex); e.SetOldValues(this._updateOldValues); e.SetNewValues(this._updateNewValues); e.SetKeys(this._updateKeys); this.OnItemUpdated(e); this._updateKeys = null; this._updateOldValues = null; this._updateNewValues = null; if ((ex != null) && !e.ExceptionHandled) { if (this.PageIsValidAfterModelException()) { return false; } e.KeepInEditMode = true; } if (!e.KeepInEditMode) { DetailsViewModeEventArgs args2 = new DetailsViewModeEventArgs(this.DefaultMode, false); this.OnModeChanging(args2); if (!args2.Cancel) { this.Mode = args2.NewMode; this.OnModeChanged(EventArgs.Empty); base.RequiresDataBinding = true; } } return true; }