Skip to content

SAIF.Presentation.Web.Core.Infragistics111 operations and processes

This page is the operation catalog and cross-operation hub for this library. Each operation's detailed, step-by-step logic lives in its own page under operations/.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules
Initialize page (session ping + control reset) Wire session keep-alive and normalize control back colors on page load ASP.NET Init/Load lifecycle of a page deriving from AppViewPageBase EnableSessionPing, CallResetBackcolor, client classification Registered client scripts; reset control CSS classes BR-CORE-001, BR-CORE-002, BR-CORE-003, BR-CORE-004
Reset control back colors Normalize CSS back-color classes across a control tree Called from Page_Load or directly by consuming pages Root System.Web.UI.Control Mutated CssClass values across the control tree BR-CORE-005, BR-CORE-006, BR-CORE-007, BR-CORE-008
Protect / unprotect a control Make a field read-only/disabled, or reverse that transformation Consuming page marks a field read-only, editable, or error-flagged Target Control Mutated CssClass, ReadOnly, Enabled, Visible (and, for drop-downs, a substituted text box) BR-CORE-009, BR-CORE-010
Apply saved grid preferences Re-apply a user's saved column, sort, and size layout to a grid Consuming page rendering a grid Grid instance, optional size div, m_controller.Model.Preferences Reordered/resized grid columns, applied sort, applied grid height/width BR-CORE-011, BR-CORE-012, BR-CORE-013
Save / clear grid preferences Persist or remove a user's grid layout preferences User saves or resets a grid layout Grid instance, IncludeSort flag, optional height/width, SizeOnly flag Persisted or removed preference entries BR-CORE-014, BR-CORE-015, BR-CORE-016
Resolve navigation and authorized menu context Load and query a user's authorized menu items and current-page navigation state Construction of a NavigationContext for a signed-in user, then per-request navigation queries User ID, MENU_ENVIRONMENT app setting, request path/URL clsMenuAuthorizedItem instances, item sequence numbers, menu-membership booleans BR-CORE-017, BR-CORE-018, BR-CORE-019, BR-CORE-020, BR-CORE-021, BR-CORE-022, BR-CORE-023
Send mail through the legacy mail service Dispatch outbound mail (with optional attachment) via the legacy SAIF SOAP mail service Consuming applications/models call SendMail / SendMailWithAttachment To, from, subject, optional body, optional attachment Mail dispatched by the remote service BR-CORE-024
Open an e-mail compose window from the browser Launch a client-side mailto: compose window Consuming page action Recipient, optional CC, subject, body Registered client script opening a mailto: window BR-CORE-025, BR-CORE-026
Stream a file download to the browser Deliver an already-created file to the browser as a download Consuming page requests a download Virtual file name, owning AppViewPageBase HTTP response carrying the file as an attachment BR-CORE-027
Set client-side focus Focus (and optionally select) the correct client-side element for a control Master page PreRender, or explicit NavigationManager use FocusControl property, Session("focuscontrol") Registered startup script focusing the target control BR-CORE-028, BR-CORE-029, BR-CORE-030, BR-CORE-031
Load a drop-down list Bind a list control or grid column to a data source with an optional blank entry Consuming page binding a list control Target list control/grid column, data source, value/text fields, DDLAddItems mode Populated list control or grid drop-down editor provider BR-CORE-032
Grid client-side interaction helpers Place the user in a specific grid cell after a postback Consuming page needs a post-postback grid focus Page, grid ID, target row/record, column key Registered client scripts targeting the Infragistics client-side grid API BR-CORE-033
Enable or disable a page or control subtree Switch a page or control subtree between read and edit modes Consuming page toggles read/edit mode Control, Page, or SAIFMenuTop.clsMenuButton; enable flag Enabled/disabled controls BR-CORE-034
Nested master page and control resolution Locate a control that lives in an ancestor master page Consuming page/control needs an ancestor-master control Page, control ID, optional content placeholder ID MasterPage or Control reference BR-CORE-035, BR-CORE-036, BR-CORE-037
Validate numeric menu context Determine whether a postback carries a valid numeric menu context value Controller processing a postback Control-value Hashtable, menu control name Boolean BR-CORE-038, BR-CORE-039
Clean text for output Sanitize raw text before it reaches e-mail, reports, or mailto: links Called before sending text to e-mail, reports, or mailto: links Raw text Sanitized text BR-CORE-040, BR-CORE-041, BR-CORE-042

Process flow diagram

The following diagram visualizes the primary operational flow across operations.

flowchart TD
    Start([Page request]) --> Init["AppViewPageBase.Page_Init<br>Initialize page"]
    Init --> Load["Page_Load"]
    Load --> Ping["Session ping<br>(if enabled and not external)"]
    Load --> Reset["Reset control back colors"]
    Load --> Grid["Apply saved grid preferences"]
    Grid --> User{"User edits grid<br>and saves layout?"}
    User -->|Yes| Save["Save / clear grid preferences"]
    Load --> Nav["Resolve navigation and<br>authorized menu context"]
    Load --> Focus["Set client-side focus"]
    User -->|Sends mail| Mail["Send mail through<br>the legacy mail service"]
    User -->|Downloads file| Download["Stream a file download<br>to the browser"]

Failure and edge-case behavior

  • Session-ping registration is a no-op after the first call in a page lifecycle (registered script block check), so repeated Load events never duplicate the script.
  • Client control protection (ProtectItem) absorbs DropDownList-to-text-box substitution failures in a Try block rather than raising to the caller.
  • SendMail / SendMailWithAttachment are declared As Boolean but never assign a return value, so callers always observe False regardless of whether the mail was actually dispatched.*
  • ClearPreferences calls Preferences.Save() twice in succession in both the UltraWebGrid and WebDataGrid overloads — a redundant call with no functional effect beyond the extra round trip.*
  • Client-side focus scripts are wrapped in try{...}catch(e){} so a missing DOM element never breaks page rendering.

Sources

  • SAIF.Presentation.Web.Core.Infragistics111/AppViewPageBase.aspx.vb
  • SAIF.Presentation.Web.Core.Infragistics111/AppViewMasterPageBase.vb
  • SAIF.Presentation.Web.Core.Infragistics111/clsAppControllerBase.vb
  • SAIF.Presentation.Web.Core.Infragistics111/clsControlManager.vb
  • SAIF.Presentation.Web.Core.Infragistics111/clsMailMessage.vb
  • SAIF.Presentation.Web.Core.Infragistics111/clsNestedMaster.vb
  • SAIF.Presentation.Web.Core.Infragistics111/clsStringUtilities.vb
  • SAIF.Presentation.Web.Core.Infragistics111/NavigationContext.vb