---
title: NavigationItem
summary: API reference for NavigationItem.
status: draft
owner: SAIF Documentation
last_reviewed: 2026-09-17
library: SAIF.Framework.Web.Mvc
reference_type: package
---

# NavigationItem

Abstract data holder shared by any navigable UI item (currently only `ToolbarItem`) carrying id, text, tooltip, URL, visibility, enablement, and per-item html-attribute dictionaries.

## Purpose
- Abstract data holder shared by any navigable UI item (currently only `ToolbarItem`) carrying id, text, tooltip, URL, visibility, enablement, and per-item html-attribute dictionaries.

## Context
- Namespace: `SAIF.Web.Mvc.UI`
- Assembly/package: `SAIF.Framework.Web.Mvc (source-shipping NuGet package)`
- Kind: abstract class (generic, T)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ActionName | `public string ActionName { get; set; }` | MVC action name used when the item navigates via action/controller routing rather than a literal `Url`. |
| ControllerName | `public string ControllerName { get; set; }` | MVC controller name paired with `ActionName` for action/controller-based navigation. |
| Enabled | `public bool Enabled { get; set; }` | Whether the item is treated as enabled; defaults to `true` in the constructor. |
| HtmlAttributes | `public IDictionary<string, object> HtmlAttributes { get; private set; }` | Attribute dictionary applied to the item's outer rendered markup; initialized to an empty `RouteValueDictionary` in the constructor. |
| Id | `public string Id { get; set; }` | Element id used for client-side targeting. |
| ImageHtmlAttributes | `public IDictionary<string, object> ImageHtmlAttributes { get; private set; }` | Attribute dictionary applied to the item's rendered image element; initialized to an empty `RouteValueDictionary` in the constructor. |
| ImageUrl | `public string ImageUrl { get; set; }` | URL of an icon/image rendered alongside the item's label. |
| LinkHtmlAttributes | `public IDictionary<string, object> LinkHtmlAttributes { get; private set; }` | Attribute dictionary applied to the item's rendered link (`<a>`) element; initialized to an empty `RouteValueDictionary` in the constructor. |
| RouteName | `public string RouteName { get; set; }` | Named-route identifier used when the item navigates via named-route rather than action/controller or literal URL. |
| RouteValues | `public RouteValueDictionary RouteValues { get; set; }` | Route parameter values supplied alongside `RouteName`; initialized to an empty `RouteValueDictionary` in the constructor and fully replaceable by callers. |
| Text | `public string Text { get; set; }` | Visible label text. |
| Tooltip | `public string Tooltip { get; set; }` | Hover tooltip text. |
| Url | `public string Url { get; set; }` | Literal navigation URL target. |
| Visible | `public bool Visible { get; set; }` | Whether the item is rendered; defaults to `true` in the constructor. |

## Sources
- `src/Web.Mvc/UI/NavigationItem.cs`
