This article will show, how to work on Kendo UI Grid with ASP.NET MVC.
Configuring the Kendo UI in our application
Download Kendo UI for ASP.NET MVC here.
Install the TelerikUI for ASP.NET MVC Setup 2016, as shown in the figures, given below:

After completing the installation, copy the CSS and JS file from the installed location and paste it in your project. In my case, I have created the separate folder called Kendo in the Application and pasted the copied Kendo CSS and JS file inside the folder.


Add a script bundle for Telerik UI for ASP.NET MVC.
- bundles.Add(new ScriptBundle("~/Kendo").Include("~/Kendo/js/kendo.all.min.js",
- "~/Kendo/js/kendo.aspnetmvc.min.js"));
Adding style bundle is given below:
- bundles.Add(new StyleBundle("~/Kendo/styles").Include("~/Kendo/styles/kendo.common.min.css",
- "~/Kendo/styles/kendo.default.min.css"));
To allow the minified files in the debug mode, one can use:
- bundles.IgnoreList.Clear();
- @Scripts.Render("~/Kendo")
Add the style bundle.
- @Styles.Render("~/Kendo/styles")
Make sure that Jquery and the Kendo script bundle is moved to the head tag.
- @Scripts.Render("~/bundles/jquery")
- @Scripts.Render("~/Kendo")
Add the kendo.Mvc.dll reference
- Right-click the References in Solution Explorer. Click Add Reference.
- Select the Browse tab of the Add Reference dialog. Navigate to the install location of Telerik UI for ASP.NET MVC.
- Navigate to wrappers/aspnetmvc/Binaries/MVC5. This directory contains ASP.NET MVC 5 version of Telerik UI for ASP.NET MVC.
- Select Kendo.Mvc.dll. Click OK.

Open the web.config file and add the Kendo UI namespace.
- <add namespace="Kendo.Mvc.UI" />
Create a new model class. In my case, I named it as Employee.cs.
- public class Employee
- {
- public Employee(int EmployeeID, string FirstName, string LastName)
- {
- this.EmployeeID = EmployeeID;
- this.FirstName = FirstName;
- this.LastName = LastName;
- }
- public int EmployeeID { get; set; }
- public string FirstName { get; set; }
- public string LastName { get; set; }
- }
Add a controller, name it as Employee Controller and add the following Action Method in it.
- public ActionResult EmployeeList([DataSourceRequest]DataSourceRequest request)
- {
- try
- {
- List<Employee> _emp = new List<Employee>();
- _emp.Add(new Employee(1, "Bobb", "Ross"));
- _emp.Add(new Employee(2, "Pradeep", "Raj"));
- _emp.Add(new Employee(3, "Arun", "Kumar"));
- DataSourceResult result = _emp.ToDataSourceResult(request);
- return Json(result,JsonRequestBehavior.AllowGet);
- }
- catch (Exception ex)
- {
- return Json(ex.Message,JsonRequestBehavior.AllowGet);
- }
- }
- <div class="container">
- <div class="row">
- @(Html.Kendo().Grid<KendoStart.Models.Employee>()
- .Name("EmpGrid")
- .DataSource(dataSource => dataSource
- .Ajax()
- .Read(read => read.Action("EmployeeList", "Employee"))
- )
- )
- </div>
- </div>

I hope you enjoyed this article. Your valuable feedback, questions or comments about this article are always welcome.

Nare ShPosted Jun 12, 2020, 3:38 AM
Getting error while running the above code. List object _emp does not contain a definition for 'ToDataSourceResult' and no extension method 'ToDataSourceResult' accepting a first argument of type
Vikas RaoPosted Jan 17, 2020, 1:25 PM
If you really want to teach someone. So please upload your all code with namespaces . and A/c to your Controller return , its not fill the grid .
AnujaPosted Apr 9, 2018, 6:03 AM
Thank you ! was really helpful !
Vignesh ManiPosted Aug 17, 2016, 7:53 AM
Nice
Nikhil SanganiPosted Aug 17, 2016, 2:12 AM
Nice one.
Bhavik PatelPosted Aug 16, 2016, 8:51 PM
Nice
Debendra DashPosted Aug 16, 2016, 2:32 PM
Is this free one or trial pack??