Skip to content

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 lets BindingManager and BindingUtility treat 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, alternate BoundObject/BoundProperty setters, Bind() overloads) and are not part of the active contract*.

Constraints and usage notes

  • Implementers are expected to resolve BoundObject via reflection against RootBindingObject and BindSource (see AutoBindControlAncestor); 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