0

我通过. PagedList_ 然后我以这种方式使用它:PagedList.MvcNuGet

@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));
    }
}

结果是没有样式的无序列表是正常的吗?然后我如何将自定义样式应用于寻呼机?

谢谢!

4

1 回答 1

4

PagedList nuget 包的创建者在这里。

老实说,我不确定发生了什么——这让我觉得很奇怪。根据您给出的描述,我最好的猜测Url.Action("List", new {page = page})是返回 null 或空值,这会导致href属性不呈现。您可以通过在视图的其他位置添加以下代码并确保它返回一个真实的 URL 来测试这一点:

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

如果该段落标记为空,则问题很可能出在您的路由中。

于 2012-04-19T12:12:22.230 回答