我有一个简单的ViewModel,我希望将其显示为列表页面。我按照this教程分页我的列表页面。 Heere是我的控制器代码,它返回带有IPagedList的视图
public ViewResult Index(int? page)
{
List<ProjectViewModel> projectList = new List<ProjectViewModel>();
foreach (Project project in db.Projects)
{
projectList.Add(ProjectViewModel.ConvertToProjectViewModel(project));
}
var pageNumber = page ?? 1;
return View(projectList.ToPagedList(pageNumber, 3));
}
以下是我的观点,也可以使用寻呼机渲染正确呈现:
@using PagedList.Mvc;
@using PagedList;
@model PagedList.IPagedList<LayoutTest.ViewModels.ProjectViewModel>
<link href="/Content/PagedList.css" rel="stylesheet" type="text/css" />
<script>
$(function() {
$("div.progressbar2").progressbar({ value: 92 });
$("div.progressbar").each(function () {
var element = this;
$(element).progressbar({
value: parseInt($(element).attr("data-last-value")),
});
});
});
</script>
@foreach (var item in Model)
{
<div class="list-container">
<div class="list-image">
<img src="@item.ProjectLogo" width="300" height="225"/>
</div>
<div class="list-title">
@Html.DisplayFor(modelItem => item.Title)
</div>
<div class="list-min-container">
<div class="list-min-left">
Owner: TBD
</div>
<div class="list-min-right">
Cost: $@Html.DisplayFor(modelItem => item.EstimatedCost)
</div>
</div>
<div class="list-brief">
@Html.DisplayFor(modelItem => item.Brief)
</div>
<div class="list-min-container">
<div class="list-min-left">
Location - TBD
</div>
<div class="list-min-right">
@Html.DisplayFor(modelItem => item.EndDate)
</div>
</div>
<div class="progressbar" data-last-value="@item.StartDate.Date.Month">
<div class="progress-label">@item.StartDate.Date.Month % complete</div>
</div>
</div>
}
@Html.PagedListPager( (IPagedList)Model, page => Url.Action("Index", new { page }) )
然而,当我点击寻呼机导航到另一个页面时没有任何反应,没有错误信息或任何东西。有人遇到过类似的事吗?
编辑:
以下是PagedListPager的输出:
<div class="pagination PagedList-pager">
<ul><li class="previous disabled PagedList-skipToPrevious"><a>← Previous</a></li>
<li class="active"><a>1</a></li>
<li><a href="/Project?Page=1">2</a></li>
<li class="next PagedList-skipToNext"><a href="/Project?Page=1">Next →</a></li>
</ul></div>
答案 0 :(得分:1)
我在Chrome上使用了客户端调试,发现有一个javascript函数禁用了所有锚点(PreventDefault)。当List实现IEnumerable时,数据源很好。现在,Paging正在按预期工作。代码一直很好。如果它可以帮助任何人。