---
title: iAutoBindingControl
summary: API reference for iAutoBindingControl.
status: draft
owner: SAIF documentation generator
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.AJAX.Infragistics103
reference_type: package
---

# 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`
