---
title: Initialize binders (page load)
summary: Restore the manager's persisted state and wire up each binder's control change-event handlers at the start of the page lifecycle.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Binding.Infragistics111
reference_type: package
operation_id: OP-BIND-002
trigger: ASP.NET `Load` event of the manager control
---

# Initialize binders (page load)

Restore the manager's persisted state and wire up each binder's control change-event handlers at the start of the page lifecycle.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-BIND-002 |
| **Trigger** | ASP.NET `Load` event of the manager control |
| **Inputs** | `ViewState("AutoBind")`, the registered binders |
| **Outputs** | Restored `AutoBind` setting; control change-event handlers wired up |
| **Primary components** | `clsObjectBindManager.OnLoad`, `clsObjectBindManager.LoadStateValues`, each binder's `Init` |
| **Entry point** | `SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb` |

## Steps

1. `LoadStateValues` restores `m_AutoBind` from `ViewState("AutoBind")` when present. ([BR-BIND-006](../business-rules.md#br-bind-006-autobind-persists-via-viewstate))
2. For each registered binder, call `Init()`.
3. Each binder's `Init` subscribes to its control's change event **only** when `UseEvents` is `True` **and** the bind type is `ControlToObject` or `TwoWay` — for example `TextBox.TextChanged` (`clsTextBoxBinder`), `CheckBox.CheckedChanged` (`clsCheckBoxBinder`), `WebNumericEdit.ValueChange` (`clsWebNumericEditBinder`), `UltraWebGrid.UpdateRowBatch` (`clsUltraGridBinder`). ([BR-BIND-007](../business-rules.md#br-bind-007-change-event-subscription-requires-useevents)) ([BR-BIND-008](../business-rules.md#br-bind-008-change-event-subscription-requires-write-back-bind-type))
4. `clsCustomValidator.Init` instead forces `BindType = BindTypes.ValidateOnly`, so custom validators never participate in data movement. ([BR-BIND-009](../business-rules.md#br-bind-009-custom-validator-forced-to-validateonly))

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start([OnLoad]) --> S1[LoadStateValues restores AutoBind]
	S1 --> S2[For each binder: Init]
	S2 --> D{UseEvents and ControlToObject/TwoWay?}
	D -->|Yes| S3[Subscribe to control change event]
	D -->|No| S4[No event subscription]
	S3 --> End([Binders ready])
	S4 --> End
```

## Failure and edge-case behavior

- A binder with `UseEvents = False` or a display-only bind type never subscribes to control events; its values move only through explicit `DataBind()` / `BindToObject()` calls.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)

> **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. Statements marked with † were retrieved from dependency library documentation via the Legends CLI RAG service.

## Sources
- SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb
