2016-08-03 11 views
1

サーバー側のページ番号付けPageListを使用しています。私は見た:https://www.youtube.com/watch?v=5omEuuIIFcgMVCエンティティフレームワークサーバー側のページ番号ページリスト

私はViewModelを使用しています。私は "Dennis R"の措置に従いました。

Using a PagedList with a ViewModel ASP.Net MVC

しかし、私は、ビューモデルの異なる種類があります。

私のエンティティクラス

public class Summary 
{ 

} 

のviewmodelは次のとおりです。

public class SummaryViewModel 
    { 
    ...   
    .... 
    } 

public class DashboardViewModel 
    { 
     public List<SummaryViewModel> SummaryRestricted { get; set; } 

     public List<SummaryViewModel> SummaryUnrestricted { get; set; } 

    } 

私のコントローラクラス:

public ActionResult Display(int page = 1, int pagesize = 4) 
     {    
      var entitySummaries = _dbContext.Summaries.ToList(); 
      var vm = MapEntityToViewModel(entitySummaries); 
      //return View(vm); 
//return View(vm.FundsUnrestricted.ToPagedList(page, pagesize)); ???? 

     } 

     DashboardViewModel MapEntityToViewModel(List<Summary> funds) 
     { 
      DashboardViewModel dashboardViewModel = new DashboardViewModel(); 

      List<Summary> unRestricted = funds.Where(x => xxx).ToList() ; 

      List<Summary> restricted = funds.Where(x => xx).ToList(); 

      dashboardViewModel.SummaryUnrestricted = unRestricted.Select(x => new SummaryViewModel(x)).ToList(); 

      dashboardViewModel.SummaryRestricted = restricted.Select(x => new SummaryViewModel(x)).ToList(); 

      return dashboardViewModel;   
     } 

私の見解は以下のとおりです。

@model PagedList.IPagedList<ViewModels.DashboardViewModel> 
@using PagedList.Mvc; 
@using PagedList; 

<table id="Restricted" class="table table-bordered"> 
    @foreach (ViewModels.SummaryViewModel item in Model.SummaryRestricted) 
    { 
     <tr> <tr> 
    } 
</table> 

<table id="UnRestricted" class="table table-bordered"> 
    @foreach (ViewModels.SummaryViewModel item in Model.SummaryUnrestricted) 
    { 
     <tr> <tr> 
    } 

</table> 

私の見解は、制限された要約と同じページ上無制限の概要については、両方のテーブルを表示することがあります。誰も助けることができますどのようにページリストを使用して両方のテーブルにページングを適用することができますか?

答えて

0

私はそれを解決しました。ビューモデルのリスト<>の代わりに、私は今..

public class DashboardViewModel 
    { 
     public PagedList<SummaryViewModel> SummaryRestricted { get; set; } 

     public PagedList<SummaryViewModel> SummaryUnrestricted { get; set; } 

    } 

それが働いて罰金と交換してください。