Fork me on GitHub

AspNetPager 示例 - 使用Table布局

该示例演示使用AspNetPager分页控件的Table布局,而非默认的Div布局,使用Table布局可以确保自定义信息区文本内容、页索引按钮、页索引输入或选择框以及页索引导航链接文本等对齐方式保持整齐一致。
相关属性设置:LayoutType="Table"
订单编号订单日期公司名称雇员姓名
109171998/3/2Romero y tomilloMargaret Peacock
109161998/2/27Rancho grandeNancy Davolio
109151998/2/27Tortuga RestauranteAndrew Fuller
109141998/2/27Queen CozinhaMichael Suyama
109131998/2/26Queen CozinhaMargaret Peacock
109121998/2/26Hungry Owl All-Night GrocersAndrew Fuller
109111998/2/26Godos Cocina TípicaJanet Leverling
109101998/2/26Wilman KalaNancy Davolio
109091998/2/26Santé GourmetNancy Davolio
109081998/2/26Reggiani CaseificiMargaret Peacock
<<<...11121314151617181920...>>>  总记录数:318,总页数:32,当前为第17页

TableLayout.aspx:

<%@ Page Title="使用Table布局" Language="C#" MetaDescription="该示例演示使用AspNetPager分页控件的Table布局,而非默认的Div布局,使用Table布局可以确保自定义信息区文本内容、页索引按钮、页索引输入或选择框以及页索引导航链接文本等对齐方式保持整齐一致。"  MasterPageFile="AspNetPager.master" AutoEventWireup="true" Inherits="TableLayout_Default" Codebehind="TableLayout.aspx.cs" %>

<asp:Content runat="server" ContentPlaceHolderID="desc">相关属性设置:<b>LayoutType="Table"</b></asp:Content>
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="main">
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="100%" CssClass="table table-bordered table-striped">
            <Columns>
                <asp:BoundField DataField="orderid" HeaderText="订单编号" />
                <asp:BoundField DataField="orderdate" HeaderText="订单日期" DataFormatString="{0:d}" />
                <asp:BoundField DataField="companyname" HeaderText="公司名称" />
                <asp:BoundField DataField="employeename" HeaderText="雇员姓名" />
            </Columns>
        </asp:GridView>
        <webdiyer:aspnetpager id="AspNetPager1" runat="server" PagingButtonSpacing="8px" onpagechanged="AspNetPager1_PageChanged"
            showcustominfosection="Right" CustomInfoHTML="总记录数:%RecordCount%,总页数:%PageCount%,当前为第%CurrentPageIndex%页" urlpaging="True" width="100%" LayoutType="Table" ShowNavigationToolTip="true" UrlPageIndexName="pageindex"></webdiyer:aspnetpager>
        
    </asp:Content>


TableLayout.aspx.cs:

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

public partial class TableLayout_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //cache the number of total records to improve performance
            object obj = Cache[GetType() + "totalOrders"];
            if (obj == null)
            {
                int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
                Cache[GetType() + "totalOrders"] = totalOrders;
                AspNetPager1.RecordCount = totalOrders;
            }
            else
            {
                AspNetPager1.RecordCount = (int)obj;
            }
        }
    }


    protected void AspNetPager1_PageChanged(object src, EventArgs e)
    {
        GridView1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure, ConfigurationManager.AppSettings["pagedSPName"],
            new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
            new SqlParameter("@endIndex", AspNetPager1.EndRecordIndex));
        GridView1.DataBind();
    }
}