Skip to content

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.

Field Value
Operation ID OP-V2-001
Trigger ASP.NET page lifecycle invokes Render on a BannerControl instance hosted on a page.
Inputs PrintPageTitle, ShowInternalDisplayBanner, DisplayBannerLogout, resolved /Resources/SiteBanner.xml content.
Outputs HTML banner markup (print and/or display banner) written to the response output stream.
Primary components BannerControl.Render
Entry point SAIF.Presentation.Web.Controls.V2/Banner.vb

Steps

  1. On OnInit, run banner defaults setup (OP-V2-002) unless the control is in design mode. (BR-V2-001)
  2. On Render, if Context Is Nothing (design time), emit a static placeholder <div> containing the CustomerHeader markup and stop. (BR-V2-002)
  3. If the resolved banner-definition path is empty, exit without rendering anything. (BR-V2-003)
  4. Load the banner XML document from the resolved path into an XmlDataDocument. (BR-V2-004)
  5. Select business_online_banner/banner_body/print; if present, substitute [TITLE] with PrintPageTitle and write the print banner. (BR-V2-005, BR-V2-006)
  6. If ShowInternalDisplayBanner is false, exit before rendering the display banner. (BR-V2-007)
  7. Select business_online_banner/banner_body/display; substitute [TITLE] with PrintPageTitle and [LINKS] with *, then split the body on *. (BR-V2-006, BR-V2-008)
  8. Write the leading body fragment, then render the SAIF.com link, the logout link, the feedback link, and the phone label, separating each with the XML-defined separator. (BR-V2-009, BR-V2-010, BR-V2-011, BR-V2-012, BR-V2-013)
  9. If DisplayBannerLogout is true and LoggingIn is false: render the logout link.
  10. If LoggingIn is true: render the plain XML-defined feedback link instead of the pop-up variant.
  11. If LoggingIn is false: render the feedback link as a window.open call to /BusinessOnline/BusinessOnlineFeedback.aspx sized 641x505.
  12. Append the remaining body fragments and write them to the output stream. (BR-V2-014)

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([Render invoked]) --> D1{Design time?}
    D1 -->|Yes| PH[Emit static placeholder div]
    D1 -->|No| PathCheck{Banner path resolved?}
    PathCheck -->|No| NoOut([No output])
    PathCheck -->|Yes| LoadXml[Load SiteBanner.xml]
    LoadXml --> PrintCheck{print node exists?}
    PrintCheck -->|Yes| RenderPrint[Render print banner]
    PrintCheck -->|No| InternalCheck
    RenderPrint --> InternalCheck{ShowInternalDisplayBanner?}
    InternalCheck -->|No| StopDisplay([Stop before display banner])
    InternalCheck -->|Yes| RenderDisplay[Render display banner links]
    RenderDisplay --> Done([Banner rendered])

Failure and edge-case behavior

  • No exceptional failure handling beyond the branches described in Steps was found in the analysis findings.*

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.V2/Banner.vb