iAutoBindingControl¶
iAutoBindingControl is the contract implemented by every reflection-based auto-binding editor control in this library (AutoBindTextbox, AutoBindWebDateTimeEdit, AutoBindWebMaskEdit, via their common ancestor AutoBindControlAncestor). BindingManager discovers controls implementing this interface across a page's control tree to assign them a model object and aggregate their validity/error state, decoupling the page-level orchestrator from any specific control implementation.
Purpose¶
- Defines the binding surface (
BindSource,BindProperty,RootBindingObject,Value) that letsBindingManagerandBindingUtilitytreat any conforming control uniformly, regardless of the underlying editor widget. - Defines the validation surface (
IsValid,ErrorMessages,Validate(),StyleControl()) that surfaces a bound business object's own validation state on the UI.
Context¶
- Namespace:
SAIF.Presentation.Web.Controls.V2.AJAX - Assembly/package:
SAIF.Presentation.Web.Controls.AJAX.Infragistics103
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| AutoPostback | Property AutoPostback() As Boolean |
Controls whether the underlying editor posts back to the server immediately on value change |
| AutoBind | Property AutoBind() As Boolean |
Indicates whether the control should participate in automatic page-wide binding |
| AutoValidate | Property AutoValidate() As Boolean |
Controls whether Validate() runs automatically after a value is written back to the bound object |
| AutoValidateOnDataBind | Property AutoValidateOnDataBind() As Boolean |
Controls whether Validate() runs automatically immediately after DataBind() |
| RootBindingObject | Property RootBindingObject() As Object |
The page model object from which BoundObject is resolved via BindSource |
| BoundObject | ReadOnly Property BoundObject() As Object |
The specific business-object instance this control is currently bound to |
| BindSource | Property BindSource() As String |
Dotted property path (e.g. "Submission.Locations.Primary") identifying the bound object relative to RootBindingObject |
| BindProperty | Property BindProperty() As String |
Name of the property on BoundObject that this control's Value reads from and writes to |
| IsBound | ReadOnly Property IsBound() As Boolean |
Indicates whether BoundObject currently resolves to a non-null instance |
| IsValid | ReadOnly Property IsValid() As Boolean |
Indicates whether the bound object reports no validation errors for BindProperty |
| ErrorMessages | ReadOnly Property ErrorMessages() As String() |
The bound object's current validation error messages for BindProperty |
| Value | Property Value() As Object |
The control's current UI value, synchronized to/from the bound object's property |
| DataBind | Sub DataBind() |
Triggers the control's full bind cycle: reads the bound property into Value and optionally validates |
| BindToControl | Sub BindToControl() |
Reads the bound object's property value into this control's Value |
| BindToObject | Sub BindToObject() |
Writes this control's Value back onto the bound object's property |
| StyleControl | Sub StyleControl(inValid As Boolean) |
Applies visual styling (e.g., background color) reflecting the current validity state |
| Validate | Function Validate() As Boolean |
Runs validation against the bound object and reflects the result on the page/control |
Behavioral notes¶
- Several members present in earlier drafts of this interface were commented out (
ControlID, alternateBoundObject/BoundPropertysetters,Bind()overloads) and are not part of the active contract*.
Constraints and usage notes¶
- Implementers are expected to resolve
BoundObjectvia reflection againstRootBindingObjectandBindSource(seeAutoBindControlAncestor); this interface itself defines no resolution logic.
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.Infragistics103\iAutoBindingControl.vb