Пример #1
0
        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;
 }