C# “如何修复”;传递到字典中的模型项的类型为,但此字典需要类型为“的模型项”;

C# “如何修复”;传递到字典中的模型项的类型为,但此字典需要类型为“的模型项”;,c#,asp.net-mvc,pagedlist,C#,Asp.net Mvc,Pagedlist,我想使用Pagedlist在表中进行分页并得到一个错误 传递到字典中的模型项的类型为“PagedList.PagedList1[System.Collections.Generic.KeyValuePair2[MyProject.Data.Models.User,System.Collections.Generic.IEnumerable`1[MyProject.Data.Models.Role]]”,但此字典需要类型为的模型项 我可以进行分页,但只能对一个模型进行分页,比如使用代码“View(

我想使用Pagedlist在表中进行分页并得到一个错误

传递到字典中的模型项的类型为“PagedList.PagedList
1[System.Collections.Generic.KeyValuePair
2[MyProject.Data.Models.User,System.Collections.Generic.IEnumerable`1[MyProject.Data.Models.Role]]”,但此字典需要类型为的模型项

我可以进行分页,但只能对一个模型进行分页,比如使用代码“View(db.Roles.ToList().ToPagedList(pageNumber,pageSize))”。但对于这种情况,它是不同的,这里我使用两个模型,即用户和角色。我用字典来称呼这两个模型。我对如何使用PagedList在视图中实现它感到困惑。这是我尝试过的代码。谢谢

public ActionResult Index(int? page)
{
    int pageSize = 2;
    int pageNumber = (page ?? 1);
    Dictionary<User, IEnumerable<Role>> userRoles = userRoleRepo.GetDictionary_UserAndRolesOfEachUser();
   return View(userRoles.ToPagedList(pageNumber, pageSize));
}
public ActionResult索引(int?页)
{
int pageSize=2;
整数页码=(第1页);
Dictionary userRoles=userRoleRepo.GetDictionary_UserAndRolesOfEachUser();
返回视图(userRoles.ToPagedList(pageNumber,pageSize));
}
看法

@model PagedList.IPagedList
用户名
全名
@foreach(模型中的字典项)
{
@DisplayFor(modelItem=>item.First().Key.UserName)
@DisplayFor(modelItem=>item.First().Key.FullName)
    @foreach(item.First().Value中的var角色) {
  • @DisplayFor(modelItem=>role.RoleName)
  • }
} @Model.PageCount的@页(Model.PageCountUrl.Action(“Index”,new{page}))
您是否尝试过以下方法

@model PagedList.IPagedList<KeyValuePair<MyProject.Data.Models.User, IEnumerable<MyProject.Data.Models.Role>>>
@model PagedList.IPagedList
@model PagedList.IPagedList<KeyValuePair<MyProject.Data.Models.User, IEnumerable<MyProject.Data.Models.Role>>>