---
title: SAIF.Presentation.Web.Binding.Infragistics111 overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Binding.Infragistics111
reference_type: package
---

# SAIF.Presentation.Web.Binding.Infragistics111 overview

> **Documentation context:** Packaged Component (NuGet)

`SAIF.Presentation.Web.Binding.Infragistics111` is SAIF's declarative "object binder" — a two-way data binding and validation framework that connects SAIF BOF business objects to ASP.NET WebForms and Infragistics 11.1 controls, with automatic error-message aggregation and error-state control formatting.

## Purpose
- Let a WebForms page declare, in code, which control is bound to which business-object property (via `clsObjectBindManager.Add` overloads) instead of hand-writing per-control get/set code.
- Move data in both directions: push business-object values into controls (`ObjectToControl`) and pull edited control values back onto business objects (`ControlToObject`), either immediately on a control's change event or in a batched call.
- Aggregate validation errors — harvested from bound objects' `IDataErrorInfo` implementation and from application-supplied custom validators — into a single formatted message, and re-style controls to show which fields are in error.
- Detect SAIF BOF business objects purely by walking the runtime base-class chain for the names `clsBusinessBase` / `clsBusinessCollectionBase`, without a compile-time reference to the BOF framework.*

## Responsibilities
- Own the binder registration/lookup collection and per-object validation-key registry for a page (`clsObjectBindManager`).
- Define and share the binder contract (`Init`, `ObjectToControl`, `ControlToObject`) plus reflection get/set, padding, and error-formatting helpers common to every concrete binder (`clsObjectBinderBase`).
- Implement one binder per supported ASP.NET or Infragistics 11.1 control, covering both the classic (`WebUI`) and current (`Web.UI`) Infragistics control generations.
- Provide strongly-typed binding-argument data contracts so applications configure a binding without long positional `Add` calls.
- Support application-defined validation logic (`clsCustomValidator`) that participates in the same error pipeline as property-level errors.

## Key components
- `clsObjectBindManager`: the page-level binding container and only public entry point; owns registration, initialization, `DataBind`/`BindToObject`, `Validate`/`RefreshValidation`, and error reporting.
- `clsObjectBinderBase`: abstract base defining the binder contract and shared reflection/padding/ error-formatting behavior.
- `clsCustomValidator`: validation-only binder running an application-supplied delegate.
- 24 concrete binders (`clsTextBoxBinder`, `clsUltraGridBinder`, `clsWebDataGridBinder`, etc.): read and write a specific control's property and subscribe to its change event.
- `clsObjectBindingArgs` hierarchy and `PadArgs`: strongly-typed configuration objects passed to the `Add` overloads.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [API reference](api/index.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `SAIF.Presentation.Web.Binding.Infragistics111/SAIF.Presentation.Web.Binding.Infragistics111.vbproj`
- `SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb`
- `SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb`
- `SAIF.Presentation.Web.Binding.Infragistics111/clsCustomValidator.vb`
