<%@ Page Language="C#" AutoEventWireup="true" MetaDescription="该示例演示如何使用AspNetPager分页控件对DataList控件进行分页。" Inherits="PagedDataList_Default" MasterPageFile="AspNetPager.master" Title="DataList分页示例" Codebehind="PagedDataList.aspx.cs" %>
<asp:Content runat="server" ContentPlaceHolderID="main">
<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="2" Width="100%">
<ItemStyle Width="50%"/>
<ItemTemplate>
订单编号:<%#DataBinder.Eval(Container.DataItem,"orderid")%>
订单日期:<font color="red"><%#DataBinder.Eval(Container.DataItem,"orderdate","{0:d}")%></font><br>
公司名称:<%#DataBinder.Eval(Container.DataItem,"companyname")%><br>
雇员姓名:<%#DataBinder.Eval(Container.DataItem,"employeename")%><br>
<hr>
</ItemTemplate>
</asp:DataList>
<webdiyer:aspnetpager id="AspNetPager1" runat="server" horizontalalign="Center" onpagechanged="AspNetPager1_PageChanged"
width="100%"></webdiyer:aspnetpager>
</asp:Content>
后台:PagedDataList.aspx
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
public partial class PagedDataList_Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
AspNetPager1.RecordCount = totalOrders;
bindData();
}
}
void bindData()
{
DataList1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure,ConfigurationManager.AppSettings["pagedSPName"],
new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
new SqlParameter("@endIndex", AspNetPager1.EndRecordIndex));
DataList1.DataBind();
}
protected void AspNetPager1_PageChanged(object src, EventArgs e)
{
bindData();
}
}