This is my code:
Index.cshtml
@model IEnumerable<ManagePartsViewModel>
@(Html.Kendo().Grid(Model)
.Name("grid-parts")
.Columns(columns =>
{
columns.Bound(f => f.Identifier).Hidden();
columns.Bound(f => f.PartType);
columns.Bound(f => f.PartNumber);
columns.Bound(f => f.PartName);
columns.Bound(f => f.Barcode);
columns.Bound(f => f.Warehouse);
columns.Bound(f => f.Quantity);
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(p => p.Identifier);
model.Field(p => p.PartType);
model.Field(p => p.PartNumber);
model.Field(p => p.PartName);
model.Field(p => p.Barcode);
model.Field(p => p.Warehouse);
model.Field(p => p.Quantity);
})
.Aggregates(aggregates =>
{
aggregates.Add(p => p.PartType).Count();
})
.Group(groups =>
{
groups.Add(p => p.PartType);
})
.PageSize(8)
.ServerOperation(false)
)
.Groupable()
.Pageable()
.NoRecords()
.Deferred()
)
@section scripts
{
@Html.Kendo().DeferredScripts()
}
ManagePartsViewModel.cs
public class ManagePartsViewModel
{
public int Identifier { get; set; }
public string PartType { get; set; }
public string PartNumber { get; set; }
public string PartName { get; set; }
public string Barcode { get; set; }
public string Warehouse { get; set; }
public int Quantity { get; set; }
}
HomeController.cs
public class HomeController : Controller
{
private readonly IPartsService _partsService;
private readonly ILogger<HomeController> _logger;
public HomeController(IPartsService partsService, ILogger<HomeController> logger)
{
_partsService = partsService;
_logger = logger;
}
public async Task<ActionResult<IEnumerable<ManagePartsViewModel>>> Index(IEnumerable<ManagePartsViewModel> viewModel)
{
try
{
viewModel = await _partsService.GetParts();
return View(viewModel);
}
catch (Exception ex)
{
_logger.LogCritical(ex, ex.Message);
return BadRequest();
}
}
}
Throws me this exception: