---
title: SAIF.Presentation.Web.Binding.Infragistics103 overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: SAIF documentation team
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Binding.Infragistics103
reference_type: embedded
---

# SAIF.Presentation.Web.Binding.Infragistics103 overview

> **Documentation context:** Bundled as source only via the repository `.nuspec` (`SAIF.BOF.Presentation.Web.Infragistics103`); not independently packaged as a compiled assembly in that package — `SAIF.Presentation.Web.Core.Infragistics103` is the primary project packed.

`SAIF.Presentation.Web.Binding.Infragistics103` ("ObjectBinder") is a presentation-tier data-binding library that connects SAIF business objects to ASP.NET WebForms controls, including both classic (v10.3 "NetAdvantage classic") and modern Infragistics control families. It performs no database access and enforces no business rules of its own; it delegates validation to the bound business object's `IDataErrorInfo`/`IsValid` implementation and surfaces the result as control-level formatting and aggregated error messages.

## Purpose
- Provide a single manager control (`clsObjectBindManager`) that a consuming ASPX page can use to declaratively bind ASP.NET/Infragistics WebForms controls to SAIF business-object properties, in either direction (object → control, control → object, or two-way).
- Aggregate and surface validation results computed by the bound business objects (via `IDataErrorInfo`/`IsValid`) as control-level CSS formatting and consolidated error text, without computing rule outcomes itself.
- Support supplemental validation scenarios beyond simple property-to-control binding: custom validators (`clsCustomValidator`) and dual binders where the displayed value and the validated value come from different object/property pairs.

## Responsibilities
- Register and coordinate per-control data bindings between WebForms/Infragistics controls and business-object properties through the ~90 overloaded `Add()` methods on `clsObjectBindManager`.
- Push business-object values into bound controls (`DataBind()`/`ObjectToControl()`), and pull control values back into business-object properties (`BindToObject()`/`ControlToObject()`), using reflection-based property access defined in the shared base class `clsObjectBinderBase`.
- Aggregate validation errors across all registered binders (`Validate()`/`RefreshValidation()`), apply CSS error/valid formatting, and optionally write consolidated error text to an `ErrorLabel` and/or `SAIFMessage` control.
- Provide strongly-typed argument bags (`clsObjectBindingArgs` and its nested classes) that parameterize the `Add()` overload family for control-family-specific options (padding, grid keys, mask/numeric/date-editor options).

## Key components
- `clsObjectBindManager`: root orchestrator control; owns all registered binders and exposes the public `Add()`/`DataBind()`/`BindToObject()`/`Validate()` surface.
- `clsObjectBinderBase`: `MustInherit` shared contract and reflection-based services (property get/set, CSS formatting, error harvesting, SAIF-object detection) that every concrete binder implements or reuses.
- `clsObjectBindingArgs` and nested argument classes: strongly-typed argument bags for the `Add()` overloads.
- `clsCustomValidator`: non-control-bound validator supporting Property/Method/Object validation modes.
- `ASPControls\`, `InfragisticsControls\`, `InfragisticsClassicControls\`: concrete binder families adapting stock ASP.NET WebControls, modern `Infragistics.Web.UI` controls, and classic v10.3 Infragistics controls respectively to the `clsObjectBinderBase` contract.
- `Enums.vb`: shared public enums and delegates used across all binder families.

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

## Sources
- `SAIF.Presentation.Web.Binding.Infragistics103\SAIF.Presentation.Web.Binding.Infragistics103.vbproj`
- `SAIF.Presentation.Web.Binding.Infragistics103\clsObjectBindManager.vb`
- `SAIF.Presentation.Web.Binding.Infragistics103\clsObjectBinderbase.vb`
- `SAIF.BOF.Presentation.Web.Infragistics103.nuspec`
