ASP.NET Web Pages - WebGrid 帮助器


ASP.NET Web Pages 是一种轻量级的编程模型,使用 Razor 语法,便于快速构建动态 Web 页面。WebGrid 帮助器是 Web Pages 中的一种数据展示方式,它能够将数据以表格的形式进行展示,同时支持分页、排序、过滤等常见的操作。

WebGrid 帮助器的使用

在 Web Pages 页面中使用 WebGrid 帮助器需引用相应命名空间,例如:

@using System.Web.Helpers

WebGrid 帮助器的基本用法如下:

@{
    var grid = new WebGrid(Model);
    grid.GetHtml();
}

其中,Model 是要展示的数据集合。

WebGrid 帮助器的列定义

通常情况下,我们需要对 WebGrid 帮助器进行列定义,以控制列的显示方式、列宽度、列标题等。WebGrid 帮助器的列定义方式如下:

grid.Column(columnName: "ID", header: "编号", format: @<text>@item.ID</text>, style: "id-column", canSort: true, canFilter: true)

该定义方式设置了列的名称、标题、显示方式、样式、排序和过滤等功能。

WebGrid 帮助器的分页与排序

WebGrid 帮助器支持分页和排序,我们可以使用 Page 和 Sort 方法对分页和排序进行控制,例如:

@{
    var grid = new WebGrid(Model, rowsPerPage: 10);
    grid.Pager(WebGridPagerModes.NextPrevious);
    grid.Sort(column: "ID");
    grid.GetHtml();
}

其中,rowsPerPage 参数可以设置每页显示行数,Pager 方法可以设置分页器样式,Sort 方法可以设置默认排序列。

WebGrid 帮助器的样式和模板

WebGrid 帮助器支持样式和模板的自定义。样式可以通过 CSS 文件进行设置,模板可以通过 Lambda 表达式进行定制。例如:

@{
    var grid = new WebGrid(Model);
    grid.GetHtml(tableStyle: "grid", columns: grid.Columns(
        grid.Column(format: @<text><img src="@item.ImageUrl" alt="@item.Name" /></text>, style: "image-column"),
        grid.Column(columnName: "Name", header: "名称", style: "name-column"),
        grid.Column(columnName: "Price", header: "价格", style: "price-column", format: @<text>@item.Price.ToString("C")</text>)
    ));
}

其中,tableStyle 可以设置表格样式,columns 可以设置列样式和列模板。