【发布时间】:2014-04-22 19:46:00
【问题描述】:
我正在使用 MVC 5 和 PagedList.MVC 4.5.0.0,我有数据返回并显示在我的表格上,同时显示了寻呼机控件。但是,当我单击下一步时,寻呼机继续将 page = 1 发送到我的函数,请在调试时查看。
我的页面有:
<div class="pagedList" data-otf-target="#contractList">
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }), PagedListRenderOptions.MinimalWithItemCountText)
</div>
我将数据发送回操作的方法是
public IPagedList<ContractViewModel> GetAllContracts(int page = 1)
{
var lstcontractViewModel = new List<ContractViewModel>();
using (ContractRepository contractRepos = new ContractRepository(new UnitOfWork()))
{
var activeContractList = contractRepos.All.OrderByDescending(x => x.Id);
foreach (var activeContract in activeContractList)
{
Mapper.CreateMap<DomainClasses.ActiveContract, ActiveContractViewModel>().ForMember(dest => dest.ContractorModel, opts => opts.Ignore());
Mapper.AssertConfigurationIsValid();
lstcontractViewModel.Add(Mapper.Map<ActiveContractViewModel>(activeContract));
}
}
return lstcontractViewModel.ToPagedList(page, 40);
}
我的控制器的操作是
public ActionResult Index()
{
var contracts = activeaccountController.GetAllContracts();
return View(contracts);
}
正如我所说,第一页一切正常,就在调用 GetAllContracts 方法时,调试器显示页面始终为 = 1。因此分页始终只返回结果的第一页。我有超过 2500 条记录,所以还有其他数据,因为寻呼机也显示,寻呼机说“显示 2546 中的第 1 到 40 项。”
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-mvc-5 pagedlist