传递到字典中的模型项的类型为“List”,但此字典需要类型为“PagedList.IPagedList”的模型项。

时间:2018-06-18 13:05:56

标签: c# asp.net-mvc pagedlist

当我运行我的视图时,我收到此错误,我知道什么是错误,我知道之前问过这个问题,所以请不要投票给我让我解释:) 我尝试创建新的viewModel,然后将我的viewModel包装到PagedList.IPagedList中,但当我这样做时,我无法访问我的Propertys而不是我调试并找出我应该将我的ViewModel(RMAHistory)的类型转换为PagedList.IPagedList或一些我的ViewModel如何接受PagedList.IPagedList,但说实话,idont知道怎么:) :)

任何人都可以指出我正确的方向:) 提前谢谢:)

错误: 传递到字典中的模型项的类型为System.Collections.Generic.List public ActionResult RMAList(string searchingrma, int? pageNumber) { List<RMAHistory> query = db.RMAStatus.Join(db.RMA_History, u => u.ID, y => y.StatusID, (u, y) => new { u, y }). Where(x => x.y.Ordrenummer.Contains(searchingrma) && x.y.Fakturnummer.Contains(searchingrma) || searchingrma == null). Select(t => new RMAHistory { OrdreDato = t.y.OrdreDato, AntalRMA = t.y.AntalRMA }).OrderBy(t => t.OrdreDato).ToPagedList(pageNumber ?? 1, 5).ToList(); return View(query); } 1 [ModelNameSpace.Models.RMAHistory]。

控制器:

@model IPagedList<ModelNameSpace.Models.RMAHistory>
@using PagedList;
@using PagedList.Mvc;

<table>

<tbody>

foreach (var rma in Model)
{
<tr>

<td class="tdft">@rma.OrdreDato.ToString("dd/MM/yyy")</td>
<td class="tdft">@rma.AntalRMA</td>

 }

</tr>
}

</tbody>


</table>

 @Html.PagedListPager(Model, pageNumber => Url.Action("RMAList", new
                        {
                            pageNumber,

                            searching = Request.QueryString["searchingrma"]

                        }))


视图:

public class RMAHistory
{
    public int? Id { get; set; }
    public DateTime OrdreDato { get; set; }
    public string AntalRMA { get; set; }

}


视图模型:

{{1}}

1 个答案:

答案 0 :(得分:0)

错误消息是不言自明的。您的操作方法应该返回public static IQueryable<ArchiveObject> FileNameEquals(this IQueryable<ArchiveObject> source, string s) { .... } or what? ,并且您将返回IPagedList<ModelNameSpace.Models.RMAHistory>

所以,你的代码是:

List<RMAHistory>