SAIFAJAXControlAncestor¶
SAIFAJAXControlAncestor is the shared root of every visual control in this library — auto-binding editors, hover-help controls, and the grid customizer all inherit from it. It centralizes access to the hosting page's bindable Model (relied on by BindingManager and AutoBindControlAncestor) and a browser feature test used by controls that need Firefox-specific rendering paths.
Purpose¶
- Resolves the hosting page's
Modelproperty once asRootObject, giving every descendant control a single, consistent way to reach the bound model without duplicating reflection logic. (BR-AJAX-001) - Provides an
IsFirefoxbrowser test intended to let descendants branch rendering for Firefox, although no descendant currently calls it.*
Context¶
- Namespace:
SAIF.Presentation.Web.Controls.V2.AJAX - Assembly/package:
SAIF.Presentation.Web.Controls.AJAX.Infragistics111(packaged inSAIF.BOF.Presentation.Web.Infragistics111)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
RootObject |
ReadOnly Property RootObject As Object |
The hosting page's Model property value, resolved by reflection via BindingUtility.GetObjectValue(Page, "Model") |
IsFirefox |
ReadOnly Property IsFirefox As Boolean |
Browser-capability test for the current request; defined but never invoked by any descendant in this library* |
Behavioral notes¶
- This class is
MustInherit— it is never instantiated directly; it exists solely to give every descendant a commonModel-resolution path and browser test. RootObjectis resolved through the same reflection helper (BindingUtility) used throughout the binding stack, so a missingModelproperty on the host page silently yieldsNothingrather than an error. (BR-AJAX-005)
Constraints and usage notes¶
- Base class:
System.Web.UI.WebControls.CompositeControl(.NET Framework) — every control here is therefore a composite control that must implementCreateChildControls. - Hosting pages must expose a property literally named
Modelfor any descendant control to resolveRootObject. (BR-AJAX-001)
Related documentation¶
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.Infragistics111/SAIFAJAXControlAncestor.vb