Fork me on GitHub

AspNetPager 示例 - ObjectDataSource分页示例

该示例演示如何使用AspNetPager分页控件和ObjectDataSource控件进行分页。

订单编号订单日期公司名称客户编号雇员姓名
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
Page 1 of 32

ObjectDataSource.aspx:

<%@ Page Language="C#" AutoEventWireup="true" MetaDescription="该示例演示如何使用AspNetPager分页控件和ObjectDataSource控件进行分页。"  Inherits="ObjectDataSource_Default" MasterPageFile="AspNetPager.master" Title="ObjectDataSource分页示例" Codebehind="ObjectDataSource.aspx.cs" %>

<asp:Content runat="server" ID="content1" ContentPlaceHolderID="main">
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" EnablePaging="True" SelectCountMethod="GetOrderCount" 
    SelectMethod="GetPagedOrders" StartRowIndexParameterName="startIndex" MaximumRowsParameterName="pageSize" 
    TypeName="OrderInfo" OnSelecting="ODS_Selecting">
    <SelectParameters>
    <asp:ControlParameter ControlID="AspNetPager1" PropertyName="StartRecordIndex" DefaultValue="1" Name="startIndex" Type="Int32" />
    <asp:ControlParameter ControlID="AspNetPager1" PropertyName="PageSize" DefaultValue="10" Name="pageSize" Type="Int32" />
    </SelectParameters>    
    </asp:ObjectDataSource>
    <br />
  <asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
        <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" AlwaysShow="True" ShowCustomInfoSection="Left"></webdiyer:aspnetpager>

</asp:Content>

ObjectDataSource.aspx.cs:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class ObjectDataSource_Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            AspNetPager1.RecordCount = OrderInfo.GetOrderCount();
        }
    }

    protected void ODS_Selecting(object src, ObjectDataSourceSelectingEventArgs e)
    {
        if (!e.ExecutingSelectCount)
        {
            e.Arguments.StartRowIndex = AspNetPager1.StartRecordIndex;
            e.Arguments.MaximumRows = AspNetPager1.PageSize;
        }
    }

}