2014-01-12 51 views
0

我想实现与MVC分页。问题与分页MVC 4

我的控制器:

[AcceptVerbs(HttpVerbs.Get)] 


     public ActionResult Index(int? page) 
     { 
      int pageSize = 2; 
      int PageNumber = (page ?? 1); 
      return PartialView(new UserListModel 
      { 
       userModel = Repo.GetUsers().OrderBy(x=>x.FullName).ToPagedList(PageNumber, pageSize), 
       ddlDept = Repo.GetPairModel("Dept") 
      }); 
     } 

我Index.cshtml:

@model PagedList.IPagedList<UserListModel> 
    @using PagedList.Mvc; 
    ---- 
    @foreach (var item in Model) 
       { 
       ----------- 
       } 
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount 

@Html.PagedListPager(Model, page => Url.Action("Index", 
    new { page })) 

,但我有以下问题:

The model item passed into the dictionary is of type 'UserListModel', but this 
dictionary requires a model item of type 'PagedList.IPagedList`1[UserListModel]'. 

回答

0

解决我的问题有以下步骤:

Model

public class UserListModel 
    { 
     public IEnumerable<PairModel> ddlDept { get; set; } 
     public PagedList.IPagedList<UserTbl> userModel { get; set; } 
    } 

查看

@model UserListModel 
@using PagedList.Mvc; 
@{ 
    PagedList.IPagedList<UserTbl> userListModel = Model.userModel; 
} 

感谢

0

需要UserListModel转换为IPagedList,而不是它的内部userModel属性。你的观点预计IPagedList不IPagedList

+0

如何UserListModel转换为IPagedList。你能帮助语法吗? –

0

要返回UserListModel的视图,其期待IPagedList<UserListModel>

改变这种

@model PagedList.IPagedList<UserListModel> 

@model UserListModel 
+0

但我也需要分页。 –