2014-01-12 4 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

решить мою проблему со следующими шагами:

Модель

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

Но мне также нужно иметь разбивку на страницы. –

Смежные вопросы