2012-04-19 8 views
0

PagedList.MvcパッケージをNuGet経由でインストールしました。それから私は方法でそれを使用:コントローラ内部のコードでPagedListが正しくレンダリングされなかった

@using PagedList; 
@using PagedList.Mvc; 

@model IPagedList<Employee> 

@{ 
    ViewBag.Title = "ListEmployees"; 
} 

<h3>All Employees (@ViewBag.TotalEmployees)</h3> 

@if(Model.Count > 0) 
{ 
    foreach(var item in Model) 
    { 
     Html.RenderPartial("Employee.Card", item); 
    } 

    @Html.PagedListPager((IPagedList)Model, page => Url.Action("List", new { page = page }), PagedListRenderOptions.Minimal) 
} 
else 
{ 
    @: no records were found. Sorry 
} 

public class EmployeeController : Controller 
{ 
    private IRepository<Employee> repository; 
    private Int32 PageSize = 10; 

    public EmployeeController(IRepository<Employee> repository) 
    { 
     this.repository = repository; 
    } 

    public ActionResult List(Int32? page) 
    { 
     var set = repository.Get(); 
     ViewBag.TotalEmployees = set.Count(); 

     return View(set.ToPagedList(page ?? 1, PageSize)); 
    } 
} 

は、結果としてunstyled順不同リストを持っているために、この正常です。そして、どのようにして私のカスタムスタイリングをページャーに適用するのですか?

ありがとうございます!

答えて

3

PagedListナゲットパッケージの作成者はこちら

正直言って、何が起こっているのか分かりません - それは私をかなり奇妙に感じます。あなたが与えた説明に基づいて私のベスト推測は、Url.Action("List", new {page = page})がnullまたは空の値を返しているので、href属性がレンダリングされないということです。あなたは他の場所であなたのビューに次のコードを追加し、それが本当のURLを返すことを確認することによってこれをテストできます。

<p>@Url.Action("List", new {page = 1})</p>

その段落タグが空の場合、問題はあなたのルーティングに最も可能性が高いです。

+0

私は 'next/prev'リンクが無効になるように1ページしかありませんでした。それが原因だと思う?しかし、私が今得ているのは、スタイリングのない単純で無条件のリストです。それは正常な動作ですか、私は自分のスタイルを適用すべきですか? – lexeme

+1

これは、pagedlist.cssファイルが含まれていない(または自分のスタイルになっている) – Troy

関連する問題