gpt4 book ai didi

c# - 按模型和计数分页 webgrid

转载 作者:行者123 更新时间:2023-11-30 15:06:49 26 4
gpt4 key购买 nike

我一直在开发一个 asp.net mvc 3 应用程序,我正在使用 webgrid 在我的 View 中显示表格数据。我的问题是,如何通过计算数据库中的记录数来分页一些数据,并在网格的页脚中显示 webgrid 的分页器?例如,在我的存储库中我有:

public PagedList<Acesso> ObterAcessos(long idPessoa, int pageIndex, int pageSize)
{
return new PagedList<Acesso>
{
PageIndex = pageIndex,
PageSize = pageSize,
Total = Session.QueryOver<Acesso>().Where(acesso => acesso.Pessoa.Id == idPessoa).FutureRowCount(),
List = Session.QueryOver<Acesso>()
.Where(acesso => acesso.Pessoa.Id == idPessoa)
.OrderBy(acesso => acesso.DataInicio).Desc
.Take(pageSize).Skip((pageIndex - 1)*pageSize)
.Future<Acesso>()
};
}

我的 Controller :

public ActionResult Acessos(int page = 1)
{
// 30 records per page
return View(_rep.ObterAcessos(SecurityHelper.User.Id, page, 30));
}

我的看法:

@model PagedList<Acesso>    
@{
ViewBag.Title = "Acessos";
var grid = new WebGrid(rowsPerPage: Model.PageSize, canSort: false, ajaxUpdateContainerId: "grid");
// set the rowCount by Total property and the List property
grid.Bind(rowCount: Model.Total, source: Model.List);
}

<h2>Acessos</h2>

@grid.GetHtml(htmlAttributes: new { id="grid", style="width:700px;" },
mode: WebGridPagerModes.All,
tableStyle: "grid", rowStyle: "gridrow", alternatingRowStyle: "gridrow_alternate",
columns: grid.Columns(
grid.Column("DataInicio", "Data de Inicio", item => item.DataInicio.ToString("dd/MM/yyyy HH:mm")),
grid.Column("IP", "IP"))
)

数据是正确的,计数和列表是正确的,但是当我运行这段代码时,它没有分页数据,它只显示第一页,我的 View 中没有显示 webgrid 的分页器。有什么我可以设置的属性吗?

最佳答案

由于您在模型中进行分页,因此您应该添加:

autoSortAndPage: false

到你的 grid.Bind() 所以它显示:

grid.Bind(rowCount: Model.Total, source: Model.List, autoSortAndPage: false);

这应该可以按照您希望的方式在页脚中启用分页。

关于c# - 按模型和计数分页 webgrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7176620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com