Syncfusion.AspNetCore.Schedule 35.1.39

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

Syncfusion ASP.NET Core Scheduler

The Syncfusion ASP.NET Core Scheduler is a fully-featured calendar and event scheduling component that enables creating, editing, and managing appointments and events across multiple calendar views.

Using this package with an AI coding agent

Before generating Syncfusion code, ask your AI coding agent to run the Syncfusion setup using the following prompt:

Set up this project for Syncfusion before generating code. Fetch and follow the official instructions at https://ai.syncfusion.com, then report the detected platform, installed skill pack, MCP status, and any required licensing action.

The setup detects your project's platform and loads the appropriate Syncfusion skill pack. No Syncfusion account or MCP key is required to install or read Syncfusion agent skills.

Platform reference: https://ai.syncfusion.com/aspnet-core/llms.txt

Key features

Common setup

All Syncfusion ASP.NET Core controls share the same foundational setup steps.

1. Install NuGet package

Install the Scheduler package and the themes package, which provides the stylesheets referenced below:

dotnet add package Syncfusion.AspNetCore.Schedule
dotnet add package Syncfusion.AspNetCore.Themes

2. Register tag helpers

Add the following to ~/Pages/_ViewImports.cshtml or ~/Views/_ViewImports.cshtml:

@addTagHelper *, Syncfusion.AspNetCore.Base
@addTagHelper *, Syncfusion.AspNetCore.Schedule

3. Add stylesheet & script references

In your layout file (~/Pages/Shared/_Layout.cshtml):

<head>
    <link rel="stylesheet" href="_content/Syncfusion.AspNetCore.Themes/styles/fluent2.css" />
    <script src="_content/Syncfusion.AspNetCore.Schedule/scripts/sf-schedule.min.js"></script>
</head>

4. Register script manager

In your layout file (~/Pages/Shared/_Layout.cshtml), at the end of your <body> tag:

<ejs-scripts></ejs-scripts>

Quick start

Step 1: Create a Model

// Models/AppointmentData.cs
public class AppointmentData
{
    public int    Id        { get; set; }
    public string Subject   { get; set; }
    public DateTime StartTime { get; set; }
    public DateTime EndTime   { get; set; }
    public bool   IsAllDay  { get; set; }
    public string RecurrenceRule { get; set; }
}

Step 2: Create a PageModel

Create ~/Pages/Index.cshtml.cs:

using Microsoft.AspNetCore.Mvc.RazorPages;
using System;
using System.Collections.Generic;
 
public class IndexModel : PageModel
{
    public List<AppointmentData> Appointments { get; set; }
 
    public void OnGet()
    {
        Appointments = new List<AppointmentData>
        {
            new AppointmentData
            {
                Id        = 1,
                Subject   = "Team Stand-up",
                StartTime = new DateTime(2024, 6, 10,  9, 30, 0),
                EndTime   = new DateTime(2024, 6, 10, 10, 30, 0)
            },
            new AppointmentData
            {
                Id        = 2,
                Subject   = "Product Review",
                StartTime = new DateTime(2024, 6, 11, 11,  0, 0),
                EndTime   = new DateTime(2024, 6, 11, 13,  0, 0)
            },
            new AppointmentData
            {
                Id        = 3,
                Subject   = "Sprint Planning",
                StartTime = new DateTime(2024, 6, 12, 14,  0, 0),
                EndTime   = new DateTime(2024, 6, 12, 16,  0, 0)
            },
            new AppointmentData
            {
                Id        = 4,
                Subject   = "Weekly Retrospective",
                StartTime = new DateTime(2024, 6, 14,  9,  0, 0),
                EndTime   = new DateTime(2024, 6, 14, 10,  0, 0),
                RecurrenceRule = "FREQ=WEEKLY;BYDAY=FR;INTERVAL=1;COUNT=5"
            }
        };
    }
}

Step 3: Create the view

Create ~/Pages/Index.cshtml:

@page
@model IndexModel
 
<div class="container-fluid mt-5">
    <h2>Scheduler Demo</h2>
 
    <ejs-schedule id="schedule"
                  height="550px"
                  selectedDate="new DateTime(2024, 6, 10)"
                  currentView="Week">
 
        
        <e-schedule-eventsettings dataSource="@Model.Appointments">
        </e-schedule-eventsettings>
 
        
        <e-schedule-views>
            <e-schedule-view option="Day"></e-schedule-view>
            <e-schedule-view option="Week"></e-schedule-view>
            <e-schedule-view option="WorkWeek"></e-schedule-view>
            <e-schedule-view option="Month"></e-schedule-view>
            <e-schedule-view option="Agenda"></e-schedule-view>
        </e-schedule-views>
 
    </ejs-schedule>
</div>

Step 4: Run the application

Press Ctrl+F5 (Windows) or ⌘+F5 (macOS) to run. The Scheduler renders in the default web browser with your appointments populated.


Common Configuration Options

Property Tag Helper Attribute Description
Selected date selectedDate Sets the initially displayed date
Current view currentView Day, Week, WorkWeek, Month, Agenda
Height height Component height (e.g., "550px")
Readonly readonly Disables all editing interactions
Time zone timezone Scheduler-level timezone (e.g., "UTC")
First day of week firstDayOfWeek 0 = Sunday, 1 = Monday
Work hours start workHours (child) Highlights working hour range
Drag & drop allowDragAndDrop Enables/disables drag-and-drop
Resize allowResizing Enables/disables event resizing

Work Hours Example

<ejs-schedule id="schedule" height="550px" selectedDate="new DateTime(2024, 6, 10)">
    <e-schedule-workhours highlight="true" start="09:00" end="18:00"></e-schedule-workhours>
    <e-schedule-eventsettings dataSource="@Model.Appointments"></e-schedule-eventsettings>
</ejs-schedule>

Recurring Events

Use the RecurrenceRule field (RRULE standard) on your data model:

// Every Monday for 10 occurrences
RecurrenceRule = "FREQ=WEEKLY;BYDAY=MO;INTERVAL=1;COUNT=10"

Run the application

Press Ctrl+F5 to run the application in your browser.

Documentation

Support

License

This is a commercial product and requires a paid license for possession or use. Review the Syncfusion EULA

About Syncfusion

Syncfusion provides 1800+ components and frameworks for web, mobile, and desktop development across multiple platforms:

Web:  Blazor |  ASP.NET Core |  ASP.NET MVC |  JavaScript |  Angular |  React |  Vue

Mobile:  Flutter |  MAUI |  UWP

Desktop:  WinForms |  WPF |  WinUI

Learn more at www.syncfusion.com

sales@syncfusion.com | Toll Free: 1-888-9-DOTNET

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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
35.1.39 66 10/6/2026
35.1.37 106 9/29/2026
34.2.9 107 9/21/2026
34.2.8 116 9/14/2026
34.2.7 121 9/8/2026
34.2.6 116 8/31/2026
34.2.5 126 8/25/2026
34.2.4 130 8/17/2026
34.2.3 115 8/11/2026
34.2.2 134 8/5/2026
34.1.33 131 7/27/2026
34.1.32 145 7/21/2026
34.1.31 127 7/14/2026
34.1.30 127 7/9/2026
34.1.29 177 7/6/2026