Fork me on GitHub

AspNetPager 示例 - 配合UpdatePanel实现无刷新分页

该示例演示如何使用AspNetPager分页控件在UpdatePanel中实现无刷新分页。
订单编号订单日期公司名称客户编号雇员姓名
11077 1998/5/6 Rattlesnake Canyon Grocery RATTC Nancy Davolio
11076 1998/5/6 Bon app' BONAP Margaret Peacock
11075 1998/5/6 Richter Supermarkt RICSU Laura Callahan
11074 1998/5/6 Simons bistro SIMOB Robert King
11073 1998/5/5 Pericles Comidas clásicas PERIC Andrew Fuller
11072 1998/5/5 Ernst Handel ERNSH Margaret Peacock
11071 1998/5/5 LILA-Supermercado LILAS Nancy Davolio
11070 1998/5/5 Lehmanns Marktstand LEHMS Andrew Fuller
11069 1998/5/4 Tortuga Restaurante TORTU Nancy Davolio
11068 1998/5/4 Queen Cozinha QUEEN Laura Callahan

UpdatePanel.aspx:

<%@ Page Language="C#" AutoEventWireup="true" MetaDescription="该示例演示如何使用AspNetPager分页控件在UpdatePanel中实现无刷新分页。"  Inherits="Ajax_default" MasterPageFile="AspNetPager.master" Title="配合UpdatePanel实现无刷新分页" Codebehind="UpdatePanel.aspx.cs" %>
<asp:Content runat="server" ID="content1" ContentPlaceHolderID="main">
 <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate> <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
        <HeaderTemplate>
        <table width="100%" class="table table-bordered table-striped">
        <tr><th style="width:15%">订单编号</th><th style="width:15%">订单日期</th><th style="width:30%">公司名称</th><th style="width:20%">客户编号</th><th style="width:20%">雇员姓名</th></tr>
        </HeaderTemplate>
        <ItemTemplate>
        <tr>
        <td><%#DataBinder.Eval(Container.DataItem,"orderid")%></td>
        <td><%#DataBinder.Eval(Container.DataItem,"orderdate","{0:d}")%></td>
        <td><%#DataBinder.Eval(Container.DataItem, "companyname")%></td>
        <td><%#DataBinder.Eval(Container.DataItem,"customerid")%></td>
        <td><%#DataBinder.Eval(Container.DataItem,"employeename")%></td>
        </tr>
        </ItemTemplate>
        <FooterTemplate>
        </table>
        </FooterTemplate>
    </asp:Repeater>
        <webdiyer:aspnetpager id="AspNetPager1" runat="server" Width="100%"  CssClass="pagination" LayoutType="Ul" PagingButtonLayoutType="UnorderedList" PagingButtonSpacing="0" CurrentPageButtonClass="active" ShowPageIndexBox="Never"></webdiyer:aspnetpager>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SqlConnection %>"
        SelectCommand="<%$ AppSettings:pagedSPName %>" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:ControlParameter ControlID="AspNetPager1" DefaultValue="10" Name="endIndex"
                PropertyName="EndRecordIndex" Type="Int32" />
            <asp:ControlParameter ControlID="AspNetPager1" DefaultValue="1" Name="startIndex"
                PropertyName="StartRecordIndex" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>      
        </ContentTemplate>
        </asp:UpdatePanel>
</asp:Content>

UpdatePanel.aspx.cs:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Ajax_default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
            AspNetPager1.RecordCount = totalOrders;
        }
    }
}