---
title: SAIF.Presentation.Web.Controls.V2.Menu overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Controls.V2.Menu
reference_type: package
---

# SAIF.Presentation.Web.Controls.V2.Menu overview

> **Documentation context:** Packaged Component (NuGet)

`SAIF.Presentation.Web.Controls.V2.Menu` is a VB.NET ASP.NET Web Forms control library that renders the Business Online navigation menu and page toolbar. It contains three server controls — `SAIFMenu` (the left-hand favourites/applications accordion with a context search box), `SAIFMenuTop` (the top page-link row plus the action toolbar), and `SAIFImageButton` (the styled image button shared by both) — all driven by the signed-in user's authorised menu items.

## Purpose
- Render a per-user navigation surface (left menu accordion, top link row, and action toolbar) whose content is entirely determined by the signed-in user's authorised menu items, obtained from `NavigationContext` and cached in `Session("navdata")` for the life of the session.
- Persist the user's "show applications pane" layout choice (`SHOWAPPS`) through `SAIF.Presentation.clsPreferences`, and gate per-page toolbar actions (insert, save, delete, print, download, save preferences, help) on capability flags carried by the current authorised page.
- Raise navigation and toolbar-action events (`MenuNavigate`, `ToolbarClick`, `DefaultOnSubmit`) for the hosting page to act on — the controls perform no navigation or business action themselves, except redirecting directly to the change-password page for external clients.

## Responsibilities
- Build and render the left navigation menu, its context search box, favourites list, and collapsible applications accordion (`SAIFMenu`).
- Build and render the top page-link row and the action toolbar, including per-button visibility, tooltips, access keys, and activity-indicator behaviour (`SAIFMenuTop`).
- Provide a shared, AJAX-aware image button used by both controls for toolbar and menu icons (`SAIFImageButton`).
- Acquire and session-cache the signed-in user's authorised menu items (`NavigationContext`), and read/write the `SHOWAPPS` layout preference (`clsPreferences`).

## Key components
- `SAIFMenu`: left-hand favourites/applications accordion menu with a context search box.
- `SAIFMenuTop`: top page-link row and action toolbar, including the `clsMenuButton` state model and `ToolBarButton` action enum.
- `SAIFImageButton`: shared styled image button with AJAX activity-indicator and form-disable behaviour.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [Security and authorization](security-authorization.md)
- [Control catalog](control-catalog.md)
- [API reference](api/index.md)

## Sources
- `SAIF.Presentation.Web.Controls.V2.Menu/SAIF.Presentation.Web.Controls.V2.Menu.vbproj`
- `SAIF.Presentation.Web.Controls.V2.Menu/SAIFMenu.vb`
- `SAIF.Presentation.Web.Controls.V2.Menu/SAIFMenuTop.vb`
- `SAIF.Presentation.Web.Controls.V2.Menu/SAIFImageButton.vb`
