C# 这就是错误:传入字典的模型项的类型为';PagedList.PagedList`1[abcd.Models.xyz]&x27; //控制器如下所示:-
//视图如下所示:-C# 这就是错误:传入字典的模型项的类型为';PagedList.PagedList`1[abcd.Models.xyz]&x27; //控制器如下所示:-,c#,asp.net-mvc,C#,Asp.net Mvc,//视图如下所示:- @foreach (var Locations in Model) { <td> @Html.DisplayFor(ModelItem => Locations.ArDescription) </td> <td> @Html.DisplayFor(ModelItem => Locations.FrDescription) </td>
@foreach (var Locations in Model)
{
<td>
@Html.DisplayFor(ModelItem => Locations.ArDescription)
</td>
<td>
@Html.DisplayFor(ModelItem => Locations.FrDescription)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = Locations.Id }) |
@Html.ActionLink("Details", "Details", new { id = Locations.Id }) |
@{
<span onclick="return confirm('Are you sure to delete?')">
<a href="/Locations?Delete=@Locations.Id" class="delLink" style="color:red;">
@Html.ActionLink("Delete", "Delete", new { id = Locations.Id })
</a>
</span>
}
</td>
}
@foreach(模型中的变量位置)
{
@DisplayFor(ModelItem=>Locations.ArDescription)
@DisplayFor(ModelItem=>Locations.FrDescription)
@ActionLink(“编辑”,“编辑”,新的{id=Locations.id})|
@ActionLink(“详细信息”,“详细信息”,新的{id=Locations.id})|
@{
}
}
以下是完整的错误消息: 传递到字典中的模型项的类型为 “PagedList.PagedList'1[BusRentalSystem.Models.Location]”,但此 字典需要类型为的模型项 'PagedList.IPagedList'1[BusRentalSystem.Models.Locations]'
你的模特例外
@model PagedList.IPagedList<BusRentalSystem.Models.Location>
@model PagedList.IPagedList
将视图代码改为这样应该可以修复它:
@model PagedList.IPagedList<BusRentalSystem.Models.Location>
@model PagedList.IPagedList
为什么要用随机语言标记?我对ASP不太了解,但他们也使用分页列表。也许您可以发现您的代码和他们的代码之间的明显差异,比如视图中缺少的@model
标记……消息是不言自明的。您将位置的集合
传递给一个视图,该视图需要位置的集合
(它们不是相同的类型)。显示相关代码。这是位置的定义方式:命名空间BusRentalSystem.Models{using System;using System.Collections.Generic;公共部分类位置{public int Id{get;set;}公共字符串ArDescription{get;set;}公共字符串FrDescription{get;set;}编辑你的问题!您需要显示在视图中使用的@model???
的声明
@model PagedList.IPagedList<BusRentalSystem.Models.Location>