The model item passed into the dictionary is of type 'System.Collections.Generic.List... in ASP.net MVC
26,952
The use of anonymous types are not supported by razor views.
You should create a model you could populate. Add all the properties you need in the model.
Instead of
select new { }
you would go
select new MyModel { }
The query would return a
List<MyModel>
after these changes.
Then in your view you would change the model to:
@model IEnumerable<MyModel>
Author by
user3026519
Updated on January 12, 2020Comments
-
user3026519 over 4 years
I am retrieving data after joining from two tables in ASP.net MVC Entity framework but the properties are unaccessible inside view and when i run the code it give error : The model item passed into the dictionary is of type 'System.Collections.Generic.List
1[<>f__AnonymousType1
6..... but this dictionary....System.Collections.Generic.IEnumerable`1. Thanks for your answers..My Code is:
HomeController:
dbEntities dbquery = new dbEntities(); public ActionResult Index() { var id = 1; var query = (from x in dbquery.Emp_ join y in dbquery.Departments on x.Id equals y.emp_id where x.Id == id select new { x.Id, x.EmployeeName, x.Department, y.emp_id, y.Dept_Id, y.DeptName }).ToList(); return View(query.ToList()); }
In View:
@model IEnumerable
@foreach (var item in Model) { @item.... (Properties are inaccessible) }