是的,ASP.NET 分页可以按条件进行筛选。在 ASP.NET 中,可以使用 GridView 或 ListView 等控件实现分页,并通过设置其 DataSource 属性来指定分页的数据源。在数据源中,可以设置分页参数(如 PageIndex、PageSize 等),并使用 DataBind() 方法将数据绑定到控件上。
为了实现按条件分页,可以在数据源中添加一个 WHERE 子句,用于指定筛选条件。例如,假设有一个名为 “Products” 的数据表,其中包含 “Category” 和 “Price” 两个字段,可以使用以下代码实现按类别筛选的分页:
// 设置分页参数 int pageIndex = 1; // 当前页码 int pageSize = 10; // 每页显示的记录数 // 创建数据源 DataTable dataTable = new DataTable(); dataTable.Columns.Add("ProductID", typeof(int)); dataTable.Columns.Add("ProductName", typeof(string)); dataTable.Columns.Add("Category", typeof(string)); dataTable.Columns.Add("Price", typeof(decimal)); // 添加数据 dataTable.Rows.Add(1, "Product A", "Category 1", 10.0m); dataTable.Rows.Add(2, "Product B", "Category 1", 20.0m); dataTable.Rows.Add(3, "Product C", "Category 2", 30.0m); // 创建 DataView DataView dataView = new DataView(dataTable); // 设置筛选条件 dataView.RowFilter = "Category = 'Category 1'"; // 设置分页数据源 gridView.DataSource = dataView; gridView.AllowPaging = true; gridView.PageSize = pageSize; // 绑定数据 gridView.DataBind();
在这个例子中,我们首先创建了一个 DataTable 对象,并添加了一些示例数据。然后,我们创建了一个 DataView 对象,并设置了筛选条件(Category = ‘Category 1’)。最后,我们将 DataView 对象设置为 GridView 的数据源,并启用了分页功能。
当用户更改页码时,可以通过更新 PageIndex 属性来重新绑定数据,并应用相同的筛选条件。这样,就可以实现按条件进行分页的功能。