The missing .NET adapter for Inertia.js
Keep your ASP.NET Core routes, controllers, authentication and validation. Add React, Vue or Svelte pages without a separate API or a client-side router.
app.MapGet("/", () => Render("Home", new InertiaProps
{
["greeting"] = "Hello from .NET",
});Everything the protocol needs
One adapter. The whole Inertia v3 surface.
The adapter implements the protocol, not a subset of it: partial reloads, deferred and merged props, once props, infinite scroll, history state, SSR and DevTools.
Minimal APIs, MVC or FastEndpoints
One adapter, three backend styles. Render pages from endpoints or controllers without changing how your app routes requests.
Props that do real work
Lazy, optional, deferred, merged, once, cached and infinite-scroll props. Resolved in a single pass and serialized without reflection.
Server-side rendering
Render the first visit on Node, start and supervise the process from .NET, and fall back to the client when a render fails.
Vite, built in
Manifest tags, a dev-server hot file, chunk prefetching, CSP nonces and a CDN asset base URL. No custom build plumbing.
Validate the Inertia way
Validation failures redirect back with errors, bags and Precognition live validation. CSRF protection is one middleware call.
Fast and AOT-ready
UTF-8 output, pooled buffers, source-generated JSON and no reflection over your props. Native AOT is covered by CI.
One server, three frontends
Your backend stays the source of truth.
Endpoints return pages, not JSON envelopes. Inertia links and forms keep the SPA feel while ASP.NET Core keeps ownership of routing, auth and validation.
- Minimal APIs, MVC controllers and FastEndpoints
- Validation errors redirect back automatically
- CSRF, flash data and encrypted history state
- Vite manifests, dev server and chunk prefetching
React
React 19
Vue
Vue 3
Svelte
Svelte 5
Production details included
The boring parts are already handled.
Asset versioning, SSR circuit breakers, CSRF cookies, proxy headers, Native AOT and generated TypeScript types are part of the package — not a recipe you copy from a blog post.
Explore the configurationAntiforgery
XSRF cookie, validation and 419 responses
History state
Encryption, clearing and fragments
SSR supervision
Managed Node process, health and breaker
Native AOT
Source-generated JSON, zero reflection
Ready to build the .NET way?
Install the package, add a root template, and render your first page in a few minutes.