【问题标题】:How to Fix " The model item passed into the dictionary is of type but this dictionary requires a model item of type "如何修复“传入字典的模型项是类型,但此字典需要类型的模型项”
【发布时间】:2019-04-26 07:31:07
【问题描述】:

我想使用Pagedlist在表格中进行分页并报错

传入字典的模型项的类型为'PagedList.PagedList1[System.Collections.Generic.KeyValuePair2[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));
}

查看

 @model PagedList.IPagedList<Dictionary<MyProject.Data.Models.User, IEnumerable<MyProject.Data.Models.Role>>>
 <table class="table">
    <tr class="header">
        <th> UserName</th>
        <th> FullName</th>
    </tr>
     @foreach (Dictionary<MyProject.Data.Models.User, IEnumerable<MyProject.Data.Models.Role>> item in Model)
     {
        <tr class="detail">
            <td>
                @Html.DisplayFor(modelItem => item.First().Key.UserName)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.First().Key.FullName)
            </td>
            <td>
                <ul>
                    @foreach (var role in item.First().Value)
                    {
                        <li>
                            @Html.DisplayFor(modelItem => role.RoleName)
                        </li>
                    }
                </ul>
            </td>
        </tr>
     }
 </table>

    Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
    @Html.PagedListPager(Model, page => Url.Action("Index", new { page}))

【问题讨论】:

    标签: c# asp.net-mvc pagedlist


    【解决方案1】:

    您是否尝试过以下方法?

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

    【讨论】:

      猜你喜欢
      • 2020-09-08
      • 2022-01-16
      • 2015-09-19
      • 2013-10-17
      • 2020-07-21
      • 2012-10-18
      • 2023-03-30
      • 2013-10-18
      • 1970-01-01
      相关资源
      最近更新 更多