SAIFWarp¶
SAIFWarp extends the Infragistics WebAsyncRefreshPanel to add two SAIF-specific behaviors around asynchronous partial-page refreshes: it carries the ID of the control that should regain input focus after a refresh completes, and it wires a shared client-side error handler that redirects the browser to a central error page when an asynchronous callback fails above a severity threshold. Consuming .aspx pages declare it directly in markup as the async-refresh container for a page region; it has no callers or collaborators within this library beyond the ASP.NET WebForms control lifecycle and Page.ClientScript.
Purpose¶
- Restore client-side input focus to a designated control after an asynchronous panel refresh, via a hidden field and a generated client script (BR-CTL-009, BR-CTL-011).
- Surface asynchronous callback failures by redirecting the browser to a shared error page when the failure severity exceeds a threshold (BR-CTL-010).
- Ensure none of this client-script wiring runs while the control is rendered in the Visual Studio designer (BR-CTL-007).
Context¶
- Namespace:
SAIF.Presentation.Web.Controls.V2 - Assembly/package:
SAIF.Presentation.Web.Controls.Infragistics111(packaged as source intoSAIF.BOF.Presentation.Web.Infragistics111) - Base class:
Infragistics.WebUI.Misc.WebAsyncRefreshPanel(external Infragistics 11.1 vendor type; not part of this repository's documentation set)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
ControlsFocus |
Public Property ControlsFocus() As Boolean (default True) |
Enables registration of the client-side refresh-complete focus-restoration script and its ClientSideEvents wiring; when False, no focus handling is installed for this instance. |
FocusControlID |
Public Property FocusControlID() As String (default "") |
Client ID of the control that should regain focus after an asynchronous refresh; its value is written into the hidden field <ID>_FOCUS that the client script reads. |
CreateChildControls |
Protected Overrides Sub |
Adds the <ID>_FOCUS hidden-field control to the panel's control collection, seeded from FocusControlID (BR-CTL-009). |
RenderContents |
Protected Overrides Sub(writer As HtmlTextWriter) |
Refreshes the hidden field's value from the current FocusControlID immediately before delegating to the base renderer, so a focus target assigned after CreateChildControls still reaches the client. |
Behavioral notes¶
SAIFWarp_InitandSAIFWarp_PreRenderare private event handlers (Handles Me.Init/Handles Me.PreRender) that perform the actual script registration described in Restore focus and handle errors after an async refresh; they are not directly callable by consumers.- The error redirect always carries the fixed message
DEFAULT_ERROR("An error occurred in an asynchronous callback."); no code path in this type supplies a dynamic exception message.** - A private constant
LASTERROR_SUFFIXis declared but never referenced by live code; an intended last-exception mechanism appears incomplete or was relocated elsewhere.**
Constraints and usage notes¶
- Behavior depends on the Infragistics 11.1 client-side API and the
WebAsyncRefreshPanel.ClientSideEventssurface; it is version-locked toInfragistics35.WebUI.Misc.v11.1.* - Consuming applications must host
/weberror/processError.aspxand/Resources/Images/saif_progressIndicator.gifat the site root for the error redirect and progress indicator to resolve correctly.
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.Infragistics111/SAIFWarp.vb