'IEnumerable' does not contain a definition for 'ToDataSourceResult'

1 Answer 7 Views
Grid
Radek
Top achievements
Rank 2
Iron
Radek asked on 03 Jun 2025, 12:21 PM

Hello,

I created new project using Telerik wizard. I am trying to populate a grid with data-source using ajax but I am failing at using ToDataSourceResult. I am getting error 

'IEnumerable<Person>' does not contain a definition for 'ToDataSourceResult' and the best extension method overload 'QueryableExtensions.ToDataSourceResult(DataTable, DataSourceRequest)' requires a receiver of type 'System.Data.DataTable'

I compared it with project created by Telerik wizard for page with grid and still don't see why this error occurs.

Please see attached figure. It is screenshot taken from HomeController where I am trying to get data-source from IEnumerable. 

1 Answer, 1 is accepted

Sort by
0
Accepted
Radek
Top achievements
Rank 2
Iron
answered on 03 Jun 2025, 12:27 PM

I found the problem, it was definition of request which was of type string and not DataSourceRequest.

Fixed version of method:


public IActionResult GetPeople([DataSourceRequest] DataSourceRequest request)
{
    IEnumerable<Person> result = Enumerable.Range(0, 50).Select(i => new Person
    {
        Id = i,
        Name = i.ToString(),
        Description = i.ToString(),
        Age = i
    });
    var dsResult = result.ToDataSourceResult(request);
    return Json(dsResult);
}

Tags
Grid
Asked by
Radek
Top achievements
Rank 2
Iron
Answers by
Radek
Top achievements
Rank 2
Iron
Share this question
or