Skip to content

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.

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