Skip to main content
Any Framework

Syncfusion® ASP.NET MVC Gantt Chart control is a project management tool for visualizing and managing project schedules. It supports features like task dependencies, critical path, baseline, resource allocation, milestones, task labels, zooming, timeline views (day, week, month, year), drag-and-drop task scheduling, editing, filtering, sorting, and exporting to PDF and Excel. It is ideal for project planning, resource management, and timeline visualization in enterprise ASP.NET MVC applications.

Published
Sep 8, 2026
1mo ago
Total Downloads
1.5K
1,541

Install

dotnet add package Syncfusion.AspNetMvc.Gantt --version 34.2.7

No framework information available.

README

Syncfusion ASP.NET MVC Gantt Chart Component

The ASP.NET MVC Gantt control is used to visualize and manage project schedules by displaying tasks, durations, dependencies, and progress in a timeline-based view, ideal for project management applications.

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-mvc/llms.txt

Key Features

  • Timeline Task Visualization: Displays tasks as bars along a timeline with configurable time ranges and zoom levels
  • Task Dependencies: Supports all 4 dependency types (Finish-to-Start, Start-to-Start, Finish-to-Finish, Start-to-Finish)
  • Editing Capabilities: Inline editing, dialog editing, and taskbar drag-and-drop for flexible task updates
  • Baseline Comparison: Support for comparing planned vs. actual schedules for performance tracking
  • Critical Path Highlighting: Automatic highlighting of the critical path for project risk management
  • Resource Allocation: Resource allocation and workload view for balancing team capacity
  • Export Support: Export to PDF and Excel formats for reporting and sharing
  • Performance: Virtualization for efficiently handling large datasets
  • Customization: Custom event templates, progress visualization, and styling
  • Accessibility: Full keyboard navigation and screen reader support

Common Setup

These setup steps are required only once for your application, regardless of which Syncfusion components you use.

1. Install Base NuGet Package

Install-Package Syncfusion.EJ2.MVC5

2. Add Namespace Reference

Edit Web.config under the Views folder and add the Syncfusion.EJ2 namespace:

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="Syncfusion.EJ2"/>
        </namespaces>
    </pages>
</system.web.webPages.razor>

3. Add Stylesheet & Script References

In your layout file (~/Views/Shared/_Layout.cshtml), add the following in the <head> section:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewBag.Title - Syncfusion Application</title>
    
    <!-- Syncfusion ASP.NET MVC controls styles -->
    <link rel="stylesheet" href="https://cdn.syncfusion.com/ej2/{{ site.ej2version }}/fluent.css" />

    <!-- Syncfusion ASP.NET MVC controls scripts -->
    <script src="https://cdn.syncfusion.com/ej2/{{ site.ej2version }}/dist/ej2.min.js"></script>
</head>

4. Register Script Manager

At the end of the <body> tag in your layout file (~/Views/Shared/_Layout.cshtml):

<body>
    @RenderBody()
    
    <!-- Syncfusion ASP.NET MVC Script Manager -->
    @Html.EJS().ScriptManager()
</body>

Quick Start

Step 1: Add ASP.NET MVC Gantt control

Add the Syncfusion ASP.NET MVC Gantt control ~/Views/Home/Index.cshtml page:

@model List<GanttDataSource>

@Html.EJS().Gantt("Gantt").DataSource((IEnumerable<object>)Model).Height("450px").TaskFields(ts => ts.Id("TaskId").Name(
    "TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").ParentID("ParentID")).Render()

Step 2: Create controller ~/Controllers/HomeController.cs

using System;
using System.Collections.Generic;
using System.Web.Mvc;

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(ganttData());
    }
    public static List<GanttDataSource> ganttData()
    {
        List<GanttDataSource> GanttDataSourceCollection = new List<GanttDataSource>()
        {
            new GanttDataSource() { TaskId = 1, TaskName = "Project Planning", StartDate = new DateTime(2026, 04, 02), EndDate = new DateTime(2026, 04, 21) },
            new GanttDataSource() { TaskId = 2, TaskName = "Requirement Analysis", StartDate = new DateTime(2026, 04, 02), Duration = 4, Progress = 70, ParentID = 1 },
            new GanttDataSource() { TaskId = 3, TaskName = "Perform soil test", StartDate = new DateTime(2026, 04, 02), Duration = 4, Progress = 50, ParentID = 1 },
            new GanttDataSource() { TaskId = 4, TaskName = "Design", StartDate = new DateTime(2026, 04, 02), Duration = 4, Progress = 50, ParentID = 1 },
            new GanttDataSource() { TaskId = 5, TaskName = "Development", StartDate = new DateTime(2026, 04, 02), EndDate = new DateTime(2026, 04, 21) },
            new GanttDataSource() { TaskId = 6, TaskName = "Testing", StartDate = new DateTime(2026, 04, 04), Duration = 3, Progress = 70, ParentID = 5 },
        };

        return GanttDataSourceCollection;
    }
}
public class GanttDataSource
{
    public int TaskId { get; set; }
    public string TaskName { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
    public int? Duration { get; set; }
    public int Progress { get; set; }
    public int? ParentID { get; set; }
}

Step 3: 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 1600+ UI 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

[email protected] | Toll Free: 1-888-9-DOTNET

Changes from Previous Version

No structural changes between v34.2.6 and v34.2.7.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.