Bootstrap 5 Integration

This example demonstrates integrating UmbNav with Bootstrap 5's navigation components including navbar, dropdowns, and offcanvas mobile menu.

Prerequisites

  • Bootstrap 5.x installed

  • UmbNav package configured

Basic Bootstrap Navbar

Razor Implementation

@using Umbraco.Community.UmbNav.Core.Models
@using Umbraco.Community.UmbNav.Core.Enums

@{
    var home = Model.Root();
    var navigation = home?.Value<IEnumerable<UmbNavItem>>("mainNavigation");
}

<nav class="navbar navbar-expand-lg navbar-light bg-light">
    <div class="container">
        <a class="navbar-brand" href="@home?.Url()">
            <img src="/images/logo.svg" alt="Site Logo" height="40" />
        </a>

        <button class="navbar-toggler" type="button"
                data-bs-toggle="collapse"
                data-bs-target="#navbarNav"
                aria-controls="navbarNav"
                aria-expanded="false"
                aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarNav">
            <ul class="navbar-nav ms-auto">
                @if (navigation != null)
                {
                    foreach (var item in navigation)
                    {
                        @await Html.PartialAsync("_BootstrapNavItem", item, new ViewDataDictionary(ViewData) { { "CurrentPage", Model } })
                    }
                }
            </ul>
        </div>
    </div>
</nav>

_BootstrapNavItem.cshtml

Bootstrap Offcanvas Mobile Menu

Implementation

_BootstrapOffcanvasItem.cshtml

Bootstrap Mega Menu

Custom Bootstrap TagHelper

Create a custom TagHelper that outputs Bootstrap-compatible markup:

BootstrapUmbNavItemTagHelper.cs

Usage

Complete Bootstrap View Component

BootstrapNavigationViewComponent.cs

Usage

Last updated

Was this helpful?