2012-04-19 115 views
0

我通過NuGet安裝了PagedListPagedList.Mvc包。裏面控制器代碼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)); 
    } 
} 

這是很正常的無樣式的無序列表作爲一個結果。那麼我如何將自定義樣式應用於傳呼機?

謝謝!

回答

3

PagedList nuget包的創建者在這裏。

說實話,我不確定發生了什麼 - 它讓我覺得很奇怪。根據您給出的描述,我最好的猜測是Url.Action("List", new {page = page})正在返回null或空值,然後導致href屬性不呈現。您可以通過在你看來其他地方添加以下代碼,並確保它返回一個真正的URL測試:

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

如果段落標記爲空,那麼問題很可能出在你的路由。

+0

好的。我只有一個頁面,所以'next/prev'鏈接被禁用。認爲這是罪魁禍首?但是我現在正在獲得的是沒有造型的明顯的不合格名單。這是正常的行爲,我應該適用我的風格? – lexeme 2012-04-19 12:39:08

+1

如果你沒有包含pagedlist.css文件(或者你自己設計),這是正常的行爲, – Troy 2012-04-19 23:12:58