C# ASP.NET MVC4 WebGrid如何显示WebGrid中的所有页面

C# ASP.NET MVC4 WebGrid如何显示WebGrid中的所有页面,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我正在将一个包含1000行的模型传递给WebGrid。 我需要每页显示40个。 因此将有25页。然而,WebGrid只显示前五个链接,当我选择最后一个链接时,它又多了两个链接,这让我有点痛苦 如何让WebGrid显示所有页面?找到了我问题的部分答案 @grid.GetHtml( mode: WebGridPagerModes.All, firstText: "<< First", previousText: "< Prev", nextText:

我正在将一个包含1000行的模型传递给WebGrid。 我需要每页显示40个。 因此将有25页。然而,WebGrid只显示前五个链接,当我选择最后一个链接时,它又多了两个链接,这让我有点痛苦


如何让WebGrid显示所有页面?

找到了我问题的部分答案

@grid.GetHtml(
    mode: WebGridPagerModes.All,
    firstText: "<< First",
    previousText: "< Prev",
    nextText: "Next >",
    lastText: "Last >>",
...
@grid.GetHtml(
模式:WebGridPagerModes.All,
第一个文本:“,
lastText:“Last>>”,
...

这也可以通过手动处理webgrid分页来完成。通过使用int count=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>

您可以在getHtmlNumericLinkScont:25中使用,此设置将在页脚的滑动编号中显示25个页码

@grid.GetHtml(
                        mode: WebGridPagerModes.All,
                        numericLinksCount: 10,
                        firstText: "<< First",
                        previousText: "< Prev",
                        nextText: " Next >",
                        lastText: "Last >>",
                        tableStyle: "webgrid-table",
                        headerStyle: "webgrid-header",
                        footerStyle: "table-pager",
                        alternatingRowStyle: "webgrid-alternating-row",
                        rowStyle: "webgrid-row-style", columns: grid.Columns(
                            gridColumns.ToArray()
                            ));
@grid.GetHtml(
模式:WebGridPagerModes.All,
数字链接:10,
第一个文本:“,
lastText:“Last>>”,
表样式:“webgrid表”,
标题样式:“webgrid标题”,
页脚样式:“表格分页器”,
交替行样式:“webgrid交替行”,
行样式:“webgrid行样式”,列:grid.columns(
gridColumns.ToArray()的
));
@grid.GetHtml(
                        mode: WebGridPagerModes.All,
                        numericLinksCount: 10,
                        firstText: "<< First",
                        previousText: "< Prev",
                        nextText: " Next >",
                        lastText: "Last >>",
                        tableStyle: "webgrid-table",
                        headerStyle: "webgrid-header",
                        footerStyle: "table-pager",
                        alternatingRowStyle: "webgrid-alternating-row",
                        rowStyle: "webgrid-row-style", columns: grid.Columns(
                            gridColumns.ToArray()
                            ));