Zonit.Extensions.Website 10.0.0-preview.9

This is a prerelease version of Zonit.Extensions.Website.
dotnet add package Zonit.Extensions.Website --version 10.0.0-preview.9
                    
NuGet\Install-Package Zonit.Extensions.Website -Version 10.0.0-preview.9
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Zonit.Extensions.Website" Version="10.0.0-preview.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Zonit.Extensions.Website" Version="10.0.0-preview.9" />
                    
Directory.Packages.props
<PackageReference Include="Zonit.Extensions.Website" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Zonit.Extensions.Website --version 10.0.0-preview.9
                    
#r "nuget: Zonit.Extensions.Website, 10.0.0-preview.9"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Zonit.Extensions.Website@10.0.0-preview.9
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Zonit.Extensions.Website&version=10.0.0-preview.9&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Zonit.Extensions.Website&version=10.0.0-preview.9&prerelease
                    
Install as a Cake Tool

Zonit.Extensions.Website

Blazor / ASP.NET Core integration layer that wires the Zonit value objects, providers and services into a ready-to-use base for Razor pages and components.

NuGet Downloads

dotnet add package Zonit.Extensions.Website

What you get

  • PageBase / PageEditBase<T> / PageViewBase<T> — Razor base components with cancellation, logging, view-model binding and a source-generator that emits AOT-safe metadata for every T.
  • ExtensionsBase — the parent base injecting Culture, Workspace, Catalog, Authenticated (Identity VO), Toast, Cookie, Breadcrumbs. Subscribes to OnChange events and re-renders.
  • Areas / plugin modelIWebsiteArea interface, WebsiteOptions.AddArea<T>(), navigation aggregation through INavigationProvider.
  • NavigationNavItem / NavGroup with VO-typed Title, Url, Permission and Target enum; tree structure with children + groups; thread-safe runtime additions.
  • Breadcrumbs, toasts, cookies — small, focused providers.
  • AddWebsite() extension method that registers compression, forwarded headers, antiforgery, Razor components and all areas in one call.

Setup

builder.Services
    .AddCulturesExtension()
    .AddAuthExtension()
    .AddOrganizationsExtension()
    .AddProjectsExtension()
    .AddWebsite(o =>
    {
        o.AddArea<DashboardArea>();
        o.AddArea<AdminArea>();
    });

var app = builder.Build();
app
   .UseAuthExtension()
   .UseMiddleware<CultureMiddleware>()
   .UseMiddleware<OrganizationsMiddleware>()
   .UseMiddleware<ProjectsMiddleware>();
@* App.razor or Routes.razor *@
@using Zonit.Extensions
<ZonitCulturesExtension />
<ZonitIdentityExtension />
<ZonitOrganizationsExtension />
<ZonitProjectsExtension />
<ZonitCookiesExtension />

A typical page

@page "/orders"
@inherits PageBase
@attribute [RequirePermission("orders.read")]

<h1>@T("Orders for {0}", Workspace.Organization.Name)</h1>

@if (Authenticated.IsAuthenticated)
{
    <p>Welcome, @Authenticated.Current.Name</p>
}

<MudButton OnClick="@(() => Toast.Show("Saved"))">@T("Save")</MudButton>

T(key, args) translates via ICultureProvider; Authenticated.Current is the Identity VO; Workspace.Organization is the Organization VO.

Cookies

@inject ICookieProvider Cookie
@foreach (var c in Cookie.GetCookies())
{
    <p>@c.Name = @c.Value</p>
}

@code {
    async Task SetTheme()
        => await Cookie.SetAsync("theme", "dark", TimeSpan.FromDays(365));
}

SetAsync runs JavaScript in interactive circuits; Set is for the prerender pass.

License

MIT.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Zonit.Extensions.Website:

Package Downloads
Zonit.Services.Dashboard

Package Description

Zonit.Services.Manager

Package Description

Zonit.SDK.Website

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.0-preview.9 53 5/16/2026
10.0.0-preview.6 46 5/15/2026
10.0.0-preview.2 53 5/12/2026
10.0.0-preview.1 59 5/8/2026
0.2.12 111 5/8/2026
0.2.11 109 4/19/2026
0.2.10 129 1/22/2026
0.2.9 118 1/21/2026
0.2.8 115 1/21/2026
0.2.7 127 1/16/2026
0.2.6 121 1/15/2026
0.2.4 115 1/15/2026
0.2.3 122 1/15/2026
0.2.2 117 1/15/2026
0.2.1 123 1/11/2026
0.2.0 115 1/11/2026
0.1.54 165 1/6/2026
0.1.53 127 1/4/2026
0.1.52 126 1/4/2026
0.1.51 127 1/2/2026
Loading failed