Silmoon.AspNetCore.Blazor 3.2.1

Prefix Reserved
dotnet add package Silmoon.AspNetCore.Blazor --version 3.2.1
                    
NuGet\Install-Package Silmoon.AspNetCore.Blazor -Version 3.2.1
                    
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="Silmoon.AspNetCore.Blazor" Version="3.2.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Silmoon.AspNetCore.Blazor" Version="3.2.1" />
                    
Directory.Packages.props
<PackageReference Include="Silmoon.AspNetCore.Blazor" />
                    
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 Silmoon.AspNetCore.Blazor --version 3.2.1
                    
#r "nuget: Silmoon.AspNetCore.Blazor, 3.2.1"
                    
#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 Silmoon.AspNetCore.Blazor@3.2.1
                    
#: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=Silmoon.AspNetCore.Blazor&version=3.2.1
                    
Install as a Cake Addin
#tool nuget:?package=Silmoon.AspNetCore.Blazor&version=3.2.1
                    
Install as a Cake Tool

.NET

Silmoon.AspNetCore

AspNetCore related open source projects forked from Silmoon (44876f64eeb23c16bb86aa133f7ddc5ffdb95edb).

Requirement:

  • .net10 SDK

Many JS calls return objects that are generally the following (data is optional).

{ "success": true, "message": null, "data": { "user": { "id": 1, "name": "Silmoon Sone" } } }

or

{ "success": false, "message": "error message", "data": null }

User session or user authentication

Passkey authentication

The Blazor library source provides ContentCard, DataGrid<TItem>, ConfirmDialog, DropdownMenu, DropdownSelect<TValue>, DateTimeRangePicker, EnumSelect<TEnum>, TreePicker, and TimeInput in Silmoon.AspNetCore.Blazor.Components. The host's scoped stylesheet imports the library styles. The components work with native Blazor layouts and do not require Modern Color or the template's site.js. See the repository's complete component guide for installation, host configuration, Razor examples, JavaScript-managed grids, navigation behavior and troubleshooting.

Blazor imports the library initializer at startup. A static MVC/Razor Pages layout without Blazor can load _content/Silmoon.AspNetCore.Blazor/js/component-modules.js as a module relative to the application base. It loads the select, menu and confirmation scripts when their components appear. The internal marker accepts modules from this library’s Components/ directory. Host pages should import their own JavaScript separately. DropdownMenu uses the Bootstrap 5 bundle (including Popper). Load Bootstrap Icons for bi-* icons. Remove local copies when switching a host to a library version that provides the same components.

DropdownMenu opens below the trigger from its start edge by default. Use AlignEnd for end alignment and OpenUpward to prefer opening above; available viewport space can change placement. Browsers with native Popover keep the menu in the top layer without moving its Blazor DOM, avoiding card clipping; the ordinary-position fallback cannot guarantee this.

MenuWidth now defaults to 12.5rem (200px with a 16px root font), replacing the earlier 15rem. Pass "200px" for a fixed pixel width or "auto" to fit the current menu level; viewport limits still apply. Rem widths follow root-font changes, including mobile themes. Opening fades in over 180ms and closing fades out over 140ms; reduced-motion preferences skip these animations. The component module is v4; refresh the scoped CSS cache together with it.

DropdownSelect supports AlignEnd (false by default), per-option descriptions and icons, and optional JavaScript-managed selection. It shares the four placement combinations, RTL behavior, viewport avoidance, and 180ms entrance / 140ms exit fades with DropdownMenu; callbacks and native links do not wait for animation. Browsers without ::details-content close immediately.

DataGrid<TItem> renders the supplied items and row template. It supports in-browser sorting, filtering, optional single selection, and typed row callbacks. Supply stable unique row keys when rows can change. Interactive Blazor loads the ES module on demand. JavaScript-managed grids import _content/Silmoon.AspNetCore.Blazor/Components/DataGrid.razor.js relative to the app base and call its exported mount(root, options). A working Razor example is in the template component guide.

ContentCard is a general-purpose Razor container with no JavaScript. Title, brand, description, and icon are optional, with no default user icon. It supports body content, FooterContent, Class, and additional HTML attributes. Width / MaxWidth default to 100%, Centered to false, and HeadingLevel to 2 (clamped to 1–6). Preserve the old authentication appearance with Centered="true" MaxWidth="480px" HeadingLevel="1" Icon="bi-person-circle". Form styles only apply through explicit classes such as card-form, card-fields, and card-actions. See the template guide linked above for complete usage and migration; refresh the scoped CSS cache when updating this card or Select.

Run Silmoon.AspNetCore.Test and open the native Blazor demo at /component-test to try all nine components with the standard Blazor layout. The page includes both an interactive Blazor grid and a JavaScript-managed grid; the latter mounts after each visit and disposes its controller when the page closes.

The template's Modern Color demo serves its /backend/components-demo route. The main area shows individual controls and a simple ContentCard; centered profile forms, multiple instances, and asynchronous combinations are grouped under the initially collapsed “更多交互示例” section. Nested cards use HeadingLevel="3", and select/menu parameter controls occupy separate rows.

For in-page navigation in Blazor pages with <base>, use an application-base-relative page route plus fragment, such as Href="backend/components-demo#input-heading", substituting the actual target route when reusing the example. A bare #input-heading may resolve against <base> to the application home page instead of the current demo.

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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.2.1 66 11/8/2026
3.1.0 106 11/1/2026
3.0.1 149 8/17/2026
3.0.0 155 3/1/2026
2.0.2 163 1/18/2026
2.0.1 181 11/29/2025
2.0.0 240 9/21/2025
1.1.1 209 8/3/2025
1.0.5 328 5/15/2025
1.0.3 213 2/5/2025
1.0.2 203 1/28/2025
1.0.1 179 1/9/2025
1.0.0 209 12/22/2024
0.1.4 217 10/31/2024
0.1.3 203 10/21/2024
0.1.2 241 9/10/2024
0.1.1 220 9/1/2024
Loading failed