Loverly error:
 
model item passed into the ViewDataDictionary is of type 'System.Collections.Generic.List`1[EVA.Models.Job]', but this ViewDataDictionary instance requires a model item of type 'Eva.PaginatedList`1[EVA.Models.Job]'.
 
Cant see why...Probably blind again.
 
Controller:
  1. public async Task Index(  
  2.             string sortOrder,   
  3.             string currentFilter,  
  4.             string searchString,  
  5.             int? page)  
  6.         {  
  7.             ViewData["CurrentSort"] = sortOrder;  
  8.   
  9.             ViewData["NameSortParm"] = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";  
  10.             ViewData["DateSortParm"] = sortOrder == "Date" ? "date_desc" : "Date";  
  11.   
  12.             if (searchString != null)  
  13.             {  
  14.                 page = 1;  
  15.             }  
  16.             else  
  17.             {  
  18.                 searchString = currentFilter;  
  19.             }  
  20.   
  21.             ViewData["CurrentFilter"] = searchString;  
  22.   
  23.             var jobs = from j in _context.Job  
  24.                         .Include(j => j.Site)  
  25.                         .Include(j => j.WaterBody)  
  26.                        select j;  
  27.   
  28.             if (!String.IsNullOrEmpty(searchString))  
  29.             {  
  30.                 jobs = jobs.Where(s => s.Site.SiteName.Contains(searchString)  
  31.                                   || s.JobNumber.Contains(searchString));  
  32.             }  
  33.   
  34.             switch (sortOrder)  
  35.             {  
  36.                 case "name_desc":  
  37.                     jobs = jobs.OrderByDescending(j => j.Site.SiteName);  
  38.                     break;  
  39.   
  40.                 case "Date":  
  41.                     jobs = jobs.OrderBy(j => j.BookingDate);  
  42.                     break;  
  43.   
  44.                 case "date_desc":  
  45.                     jobs = jobs.OrderByDescending(j => j.BookingDate);  
  46.                     break;  
  47.   
  48.                 default:  
  49.                     jobs = jobs.OrderBy(j => j.Site.SiteName);  
  50.                     break;  
  51.             }  
  52.   
  53.             int pageSize = 9;  
  54.   
  55.             return View(await PaginatedList.CreateAsync(jobs.AsNoTracking(),page??1,pageSize ));  
  56.         }  
View:
 
  1. @model PaginatedList  
  2.   
  3. @{  
  4.     ViewData["Title"] = "Jobs List";  
  5. }  
  6.   
  7. Jobs List

      
  8.   
  9.   

  10.     "Create">Create New  
  11.   
  12.   
  13. "Index" method="get">  
  14.     class="form-actions no-color">  
  15.         

      

  16.             Find by Site Name or by Job Number: "text" name="SearchString" value="@ViewData["currentFilter"]" />  
  17.             "submit" value="Search" class="btn btn-default" /> |  
  18.             "Index">Back to Full List  
  19.         

      
  20.     
  
  •   
  •   
  •   
  •   
  • class="table">  
  •       
  •           
  •               
  •                  
  •                 "Index" asp-route-sortOrder="@ViewData["DateSortParm"]">Booking Date  
  •              
  •               
  •               
  •                Job Number  
  •               
  •               
  •                   
  •                 "Index" asp-route-sortOrder="@ViewData["NameSortParm"]">Site  
  •   
  •                   
  •               
  •               
  •                 Waterbody  
  •               
  •               
  •                 Job Description  
  •               
  •               
  •               
  •           
  •       
  •       
  • @foreach (var item in Model) {  
  •           
  •               
  •                 @Html.DisplayFor(modelItem => item.BookingDate)  
  •               
  •               
  •                 @Html.DisplayFor(modelItem => item.JobNumber)  
  •               
  •               
  •                 @Html.DisplayFor(modelItem => item.Site.SiteName)  
  •               
  •               
  •                 @Html.DisplayFor(modelItem => item.WaterBody.WBName)  
  •               
  •               
  •                 @Html.DisplayFor(modelItem => item.JobDescription)  
  •               
  •              
  •               
  •                 "Edit" asp-route-id="@item.JobID">Edit |  
  •                 "Details" asp-route-id="@item.JobID">Details |  
  •                 "Delete" asp-route-id="@item.JobID">Delete  
  •               
  •           
  • }  
  •       
  •   
  •   
  • @{  
  •     var prevDisabled = !Model.HasPreviousPage ? "disabled" : "";  
  •     var nextDisabled = !Model.HasNextPage ? "disabled" : "";  
  • }  
  •   
  • "Index"  
  •    asp-route-sortOrder="@ViewData["CurrentSort"]"  
  •    asp-route-page="@(Model.PageIndex - 1)"  
  •    asp-route-currentFilter="@ViewData["CurrentFilter"]"  
  •    class="btn btn-default @prevDisabled btn">  
  •     Previous  
  •   
  • "Index"  
  •    asp-route-sortOrder="@ViewData["CurrentSort"]"  
  •    asp-route-page="@(Model.PageIndex + 1)"  
  •    asp-route-currentFilter="@ViewData["CurrentFilter"]"  
  •    class="btn btn-default @nextDisabled btn">  
  •     Next  
  •   
  • I know its simple...but cant see where the error is coming from?