Skip to content

Navigate

Consumer pages call Navigate to send the user to a page in another BOL application while keeping the web context. The context id travels in the cid query value.

Field Value
Operation ID OP-07
Trigger Navigate call with NavigationOptions
Inputs Target application, target page
Outputs Redirect result with a cid query value
Primary components BolContextModel.Navigate, NavigationOptions.ToUrl
Entry point src/BolMiddleware/Models/BolContextModel.cs

Steps

  1. Call Save web context, forcing the save when the target application differs from the current application (BR-BOLMIDDLEWARE-002).
  2. Build the URL with NavigationOptions.ToUrl(cid) from the target application and page, appending the cid query value.
  3. Return a redirect result to that URL.

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([Navigate]) --> S1[Save web context]
    S1 --> S2[Build URL with cid]
    S2 --> EndOk([Return redirect])

Failure and edge-case behavior

  • AddQueryParameter does not URL-encode values, so a target page containing reserved characters can alter the query string.
  • The redirect target is composed from caller-supplied names; see Menu item click for the posted-value exposure.

Sources

  • src/BolMiddleware/Models/BolContextModel.cs
  • src/BolMiddleware/Contracts/NavigationOptions.cs