Backend example for DHTMLX Scheduler hosted in a Blazor Web App via JavaScript interop. The scheduler is the existing dhtmlxscheduler.js library; Blazor renders the host page, calls into JS to initialize the widget, and serves a Web API controller for CRUD.
The sample uses an in-memory event list on the server, so you can try creating, editing, deleting and recurring events without any database setup.
- Blazor interactive server app with DHTMLX Scheduler mounted through JavaScript interop
- CRUD operations via Scheduler
REST-JSONdata processor - Dynamic loading by date range (
from/toquery parameters) - Recurring events with the rrule-based engine (Scheduler 7.1+) - full series/occurrence handling
- Events exchanged in ISO
yyyy-MM-ddTHH:mm:ssformat; client usesformat_date/parse_datetemplate overrides for round-tripping - No external database required
- .NET 10 SDK
- Visual Studio Code with the C# Dev Kit (or Visual Studio 2022)
dotnet run --project BlazorAppThen open the URL printed in the terminal (typically http://localhost:5xxx).
BlazorApp/
Components/
App.razor # Root app markup, styles, and script references
Pages/Home.razor # Scheduler host page (JS interop call)
Controllers/
SchedulerController.cs # REST API for loading and saving events (in-memory)
Models/
SchedulerEvent.cs # Internal event model (PascalCase)
WebAPIEvent.cs # DTO used by the API + scheduler requests (snake_case wire format)
wwwroot/lib/scheduler/
dhtmlxscheduler.js # DHTMLX Scheduler library
dhtmlxscheduler.css # Scheduler styles
scheduler.js # Scheduler initialization, dataProcessor, format_date / parse_date overrides
Program.cs # Blazor + controller pipeline
BlazorApp.sln # Solution file
A complete tutorial is available at https://docs.dhtmlx.com/scheduler/integrations/dotnet/howtostart-blazor.
Source code in this repository is released under the MIT License.
DHTMLX Scheduler is a commercial library - use under a valid DHTMLX license or evaluation agreement.