SAIF.Presentation.Web.Controls.V2 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/. Operations here are control-level rendering and behavior processes; no operation performs data access, and none delegates to another repository library except where noted.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules |
|---|---|---|---|---|---|
| Render the site banner | Render the SAIF site banner from XML-defined content, honoring internal/external visibility. | ASP.NET page lifecycle invokes Render on a BannerControl instance hosted on a page. |
PrintPageTitle, ShowInternalDisplayBanner, DisplayBannerLogout, resolved /Resources/SiteBanner.xml content. |
HTML banner markup (print and/or display banner) written to the response output stream. | BR-V2-001, BR-V2-004, BR-V2-007 |
| Establish banner defaults | Establish the environment-driven defaults that the render step depends on. | Called from OnInit when the BannerControl is not in design mode. |
AppGlobal.EnvironmentService.IsClientExternal, the current HttpContext, the template source directory. |
Internal/insider flag, default link visibility flags, resolved banner path, LoggingIn flag. |
BR-V2-015, BR-V2-017 |
| Resolve internal banner visibility | Centralize the internal/external visibility decision for the display banner. | Read whenever Render needs to decide whether to emit the display banner. |
Insider/external classification, ShowInternalBanner ViewState entry. |
Boolean indicating whether the display banner should render. | BR-V2-019, BR-V2-020 |
| Render a control in read-only mode | Swap an interactive input control for static, read-only markup while preserving posted state. | ASP.NET page lifecycle invokes Render on the control. |
ReadOnly ViewState entry, TextAlign, control style/CSS attributes. |
Either the interactive base control markup, or static read-only markup (image + label). | BR-V2-021, BR-V2-022, BR-V2-023, BR-V2-024 |
| Bind and render a drop-down list | Support enum-sourced binding and a read-only rendering mode for the drop-down. | Host page calls DataBind, or the ASP.NET page lifecycle invokes Render. |
EnumDatasource, MapUnderscore, ReadOnly, ValueText, control width/style. |
Populated list items on bind; interactive drop-down or read-only textbox markup on render. | BR-V2-027, BR-V2-030, BR-V2-036 |
| Display a status message | Display a status/validation message with an icon selected from message-text keywords. | ASP.NET page lifecycle (Init, CreateChildControls, RenderControl) for a SAIFMessage instance. |
Text, DisplayImage (SAIFMessage.Images). |
A one-row HTML table containing a status icon and a label. | BR-V2-037, BR-V2-042, BR-V2-043, BR-V2-044 |
| Collapse/expand a panel | Provide a collapsible, titled panel whose expand/collapse state survives postback. | Control construction, CreateChildControls, and postback for a SAIFPanel instance. |
PanelState, hidden-field posted value. |
Header, hidden state field, and content panel markup with the correct display style. | BR-V2-047, BR-V2-048, BR-V2-049, BR-V2-051 |
| Build and fill the conditions grid | Provide a pre-built, reusable grid panel for displaying medical-conditions-shaped data. | CreateChildControls on first use; Fill when the host page has a CollectionBase to display; OnPreRender on every render. |
Caller-supplied System.Collections.CollectionBase. |
A SAIFPanel-hosted, explicitly-columned GridView titled "Medical Conditions". |
BR-V2-052, BR-V2-053, BR-V2-054 |
| Prevent duplicate submission | Block a user from submitting the same form twice via rapid repeated clicks. | OnLoad and Render for a OneClickSubmit button instance; client click for the guard script. |
CssClass (optional). |
A submit button whose client click is guarded against duplicate submission. | BR-V2-058, BR-V2-059, BR-V2-060 |
| Render the multi-select list | Render a drop-down multi-select list backed by a checkbox list. | CreateChildControls and DataBind for a MultiListControl instance. |
IsTextEditable, ListDatasource, TextDatasource, WildCardItem. |
A composite textbox + arrow image button + checkbox list control. | BR-V2-061, BR-V2-063, BR-V2-064 |
| Manage tabs | Add, select, style, sort, and persist a collection of navigation tabs. | Host page calls AddTab/InsertTab; CreateChildControls for SAIFTabBar; postback for view-state persistence. |
Tab text, client ID, div ID, selected/enabled/visible flags, access key, width, Mode. |
An ordered tab collection, rendered tab links/bar, and selection change events. | BR-V2-066, BR-V2-069, BR-V2-072, BR-V2-075 |
| Control-manager enableability helpers | Expose a lightweight attribute-based mechanism for excluding controls from bulk enable/disable operations. | Called by other controls in this library (for example SAIFMessage) and by clsControlManager in SAIF.Presentation.Web.Core.Infragistics111. |
A target Control, an enableable Boolean. |
The ControlManagerEnableable string attribute on the target control; a Boolean enableability check result. |
BR-V2-078, BR-V2-079 |
| Grid rendering and row-click wiring | Provide a styled GridView with accessible markup and optional client-side row-click behavior. |
Control construction, Init, RowDataBound, and PreRender for a SAIFGrid instance. |
DataKeyField, bound data items. |
Styled grid markup with an accessible header and, when configured, client-side row-click attributes. | BR-V2-081, BR-V2-083, BR-V2-085 |
| Set initial page focus | Set the browser focus to a named control when the page loads. | ASP.NET page lifecycle invokes Render on a FocusManager instance. |
BoundControlId. |
A registered startup script that focuses the bound control, or no output. | BR-V2-086, BR-V2-088 |
| Render the alphanumeric filter bar | Provide an A-Z-plus-numeric filter bar that the host page can use to filter its data. | CreateChildControls for a SAIFAlphaNumericLinkControl instance; user click on a rendered link. |
None (fixed A-Z + Number range). | One SAIFLinkButton per letter plus a Number link; LinkClicked event carrying the clicked value. |
BR-V2-089, BR-V2-091 |
| Activity indicator and form disabling | Provide a consistent activity-indicator and form-disabling UX across the three action/input controls. | Control initialization for SAIFButton, SAIFComboBox, and SAIFListBox; client click/change events. |
EnableIndicator, DisableFormControlsOnClick/DisableFormControlsOnChange. |
CSS class selection, registered client script include, client-side form-disable signal. | BR-V2-092, BR-V2-093 |
| Multi-line character counter | Add an optional live character counter to multi-line, length-limited textboxes. | Init, CreateChildControls, and RenderControl for a SAIFTextBox instance. |
TextMode, MaxLength, ShowCharacterCounter, Visible. |
The base textbox, optionally followed by a character-counter panel and a SaifMaxLength attribute. |
BR-V2-096, BR-V2-097 |
| Hover help | Render a hover-triggered help icon with a positioned pop-up panel. | Control initialization and rendering for a SAIFHoverHelp instance. |
HelpText, PanelWidth, PopupPosition. |
A help icon and a positioned pop-up panel containing HelpText. |
BR-V2-100, BR-V2-101 |
Process flow diagram¶
The following diagram visualizes how a page-hosted control set typically renders: layout/navigation controls establish structure, data-entry and display controls render within them, and feedback controls surface the result.
flowchart TD
Start([Page Init/Load]) --> Chrome[Render banner / panel / tab navigation]
Chrome --> Entry[Render data-entry and display controls]
Entry --> Action{User action?}
Action -->|Submit| Guard[OneClickSubmit / activity indicator guard]
Action -->|Filter/select| Nav[SAIFAlphaNumericLinkControl / SAIFTabs event]
Guard --> Postback([Postback])
Nav --> Postback
Postback --> Feedback[Render SAIFMessage status]
Failure and edge-case behavior¶
ConditionsGrid.CreateChildControls/Fillswallow exceptions silently (BR-V2-057).SAIFMessage.RenderControlwrites the exception message, source, and stack trace into the rendered page if rendering fails.SAIFDropDownList.Renderretries once with the selection cleared if the base render throws (BR-V2-035).FocusManager.RenderandBannerControl.Renderboth render nothing rather than raising an error when their target is unresolvable (BR-V2-088, BR-V2-003).
Related documentation¶
Sources¶
SAIF.Presentation.Web.Controls.V2/Banner.vbSAIF.Presentation.Web.Controls.V2/SAIFCheckBox.vbSAIF.Presentation.Web.Controls.V2/SAIFDropDownList.vbSAIF.Presentation.Web.Controls.V2/SAIFMessage.vbSAIF.Presentation.Web.Controls.V2/SAIFPanel.vbSAIF.Presentation.Web.Controls.V2/ConditionsGrid.vbSAIF.Presentation.Web.Controls.V2/OneClickSubmitControl.vbSAIF.Presentation.Web.Controls.V2/MultiListControl.vbSAIF.Presentation.Web.Controls.V2/SAIFTabs.vbSAIF.Presentation.Web.Controls.V2/mdlUtilities.vbSAIF.Presentation.Web.Controls.V2/SAIFGrid.vbSAIF.Presentation.Web.Controls.V2/FocusManager.vbSAIF.Presentation.Web.Controls.V2/SAIFAlphaNumericLinkControl.vbSAIF.Presentation.Web.Controls.V2/SAIFButton.vbSAIF.Presentation.Web.Controls.V2/SAIFTextBox.vbSAIF.Presentation.Web.Controls.V2/SAIFHoverHelp.vb