Skip to content

Push a user edit back to the model

This operation captures a user's edit on the underlying editor's change event and writes it back into the bound model object by reflection, then optionally re-validates the control.

Field Value
Operation ID OP-AJAX-03
Trigger The inner editor raises TextChanged / ValueChange on postback
Inputs Editor's current text/date value
Outputs BoundObject.<BindProperty> updated; optional validation run
Primary components AutoBindTextbox.Textbox_TextChanged, AutoBindWebMaskEdit.Textbox_TextChanged, AutoBindWebDateTimeEdit.Textbox_TextChanged → AutoBindControlAncestor.BindToObject
Entry point SAIF.Presentation.Web.Controls.AJAX.Infragistics111/AutoBindControlAncestor.vb

Steps

  1. The event handler copies the editor's current text/date into the control's Value property. (BR-AJAX-007)
  2. BindToObject copies Me.Value into BoundObject.<BindProperty> by reflection. (BR-AJAX-004)
  3. On reflection failure: the exception is swallowed and the model silently keeps its previous value.*
  4. If AutoValidate is set (default True), run Validate(). (BR-AJAX-006)

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([Editor raises TextChanged / ValueChange]) --> Copy[Copy editor value into control's Value]
    Copy --> Write[BindToObject writes Value into BoundObject.BindProperty]
    Write --> AutoValidate{AutoValidate?}
    AutoValidate -->|Yes| Validate[Run Validate]
    AutoValidate -->|No| EndOk([Model updated])
    Validate --> EndOk

Failure and edge-case behavior

  • Reflection failures during the write-back are swallowed; the model silently keeps its previous value with no error or audit trail.*

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Presentation.Web.Controls.AJAX.Infragistics111/AutoBindControlAncestor.vb
  • SAIF.Presentation.Web.Controls.AJAX.Infragistics111/AutoBindTextbox.vb
  • SAIF.Presentation.Web.Controls.AJAX.Infragistics111/AutoBindWebMaskEdit.vb
  • SAIF.Presentation.Web.Controls.AJAX.Infragistics111/AutoBindWebDateTimeEdit.vb