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¶
- The event handler copies the editor's current text/date into the control's
Valueproperty. (BR-AJAX-007) BindToObjectcopiesMe.ValueintoBoundObject.<BindProperty>by reflection. (BR-AJAX-004)- On reflection failure: the exception is swallowed and the model silently keeps its previous value.*
- If
AutoValidateis set (defaultTrue), runValidate(). (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.*
Related documentation¶
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.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/AutoBindTextbox.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/AutoBindWebMaskEdit.vbSAIF.Presentation.Web.Controls.AJAX.Infragistics111/AutoBindWebDateTimeEdit.vb