我传递一个模型1000行到的WebGrid。 我需要显示他们40页。 所以会有25页。但是,WebGrid只显示前五个链接,并且在我选择最后一个链接时多加了2个,这有点痛苦。ASP.NET MVC4的WebGrid如何显示的所有页面中的WebGrid
如何让WebGrid显示所有页面?
我传递一个模型1000行到的WebGrid。 我需要显示他们40页。 所以会有25页。但是,WebGrid只显示前五个链接,并且在我选择最后一个链接时多加了2个,这有点痛苦。ASP.NET MVC4的WebGrid如何显示的所有页面中的WebGrid
如何让WebGrid显示所有页面?
找到了我的问题的部分答案。
@grid.GetHtml(
mode: WebGridPagerModes.All,
firstText: "<< First",
previousText: "< Prev",
nextText: "Next >",
lastText: "Last >>",
...
这也可以通过手柄的WebGrid分页手工完成。通过让使用诠释计数总页数= grid.PageCount您可以显示所有网页数量和使用一个简单的循环 例如
@{var grid = new WebGrid(source: [MODEL], defaultSort: "[COLNAME]", rowsPerPage: 15, canPage: true, canSort: true, sortFieldName: "[COLNAME]", sortDirectionFieldName: "ASC");
int count = grid.PageCount;
@grid.GetHtml(headerStyle: "HeaderClassCSS", footerStyle: "FooterClassCSS", rowStyle: "RowClassCSS", alternatingRowStyle: "AlternateRowClassCSS", columns: grid.Columns(
grid.Column(columnName: "ChannelID", header: "ID"),
grid.Column(columnName: "ChannelName", header: "Channel Name"),
), htmlAttributes: new { @class = "TableClassCSS" }, mode: WebGridPagerModes.All)
}
</div>
<div style="text-align:center">
@for (int i = 1; i <= count; i++)
{
//@Url.Action(,"Channels", new { page = i})
<a href="@Url.Action("Channels", new { page = i})">@(i + " | ")</a>
}
</div>
注意让他们超链接:您可以禁用或隐藏内置通过使用分配给页脚的类,这在我的情况下是'FooterClassCSS'。像
.FooterClassCSS
{
display:none;
}