Fork me on GitHub

AspNetPager 示例 - 使用页索引框

该示例演示如何使用AspNetPager分页控件的输入或选择页索引功能。
相关属性设置:ShowPageIndexBox="Always或Auto" PageIndeBoxType="DropDownList或TextBox"(默认值为 TextBox)
订单编号:11077     订单日期:1998/5/6
公司名称:Rattlesnake Canyon Grocery
雇员姓名:Nancy Davolio

订单编号:11076     订单日期:1998/5/6
公司名称:Bon app'
雇员姓名:Margaret Peacock

订单编号:11075     订单日期:1998/5/6
公司名称:Richter Supermarkt
雇员姓名:Laura Callahan

订单编号:11074     订单日期:1998/5/6
公司名称:Simons bistro
雇员姓名:Robert King

订单编号:11073     订单日期:1998/5/5
公司名称:Pericles Comidas clásicas
雇员姓名:Andrew Fuller

订单编号:11072     订单日期:1998/5/5
公司名称:Ernst Handel
雇员姓名:Margaret Peacock

订单编号:11071     订单日期:1998/5/5
公司名称:LILA-Supermercado
雇员姓名:Nancy Davolio

订单编号:11070     订单日期:1998/5/5
公司名称:Lehmanns Marktstand
雇员姓名:Andrew Fuller

订单编号:11069     订单日期:1998/5/4
公司名称:Tortuga Restaurante
雇员姓名:Nancy Davolio

订单编号:11068     订单日期:1998/5/4
公司名称:Queen Cozinha
雇员姓名:Laura Callahan

<<<12345678910...>>>  转到第

PageIndexBox.aspx:

<%@ Page Language="C#" MasterPageFile="AspNetPager.master" AutoEventWireup="true" MetaDescription="该示例演示如何使用AspNetPager分页控件的输入或选择页索引功能。" Inherits="PageIndexBox_Default" Title="使用页索引框" Codebehind="PageIndexBox.aspx.cs" %>
<asp:Content runat="server" ContentPlaceHolderID="desc">相关属性设置:ShowPageIndexBox="Always或Auto" PageIndeBoxType="DropDownList或TextBox"(默认值为 TextBox)</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="main" Runat="Server">
        <asp:DataList ID="DataList1" runat="server"  RepeatDirection="Horizontal" RepeatColumns="2" Width="100%">
        <ItemStyle Width="50%"/>
<ItemTemplate>
订单编号:<%#DataBinder.Eval(Container.DataItem,"orderid")%>&nbsp;&nbsp;&nbsp;&nbsp;
订单日期:<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" ShowPageIndexBox="Always" PageIndexBoxType="DropDownList" TextBeforePageIndexBox="转到第" TextAfterPageIndexBox="页"  PageSize="10"
        width="100%"></webdiyer:aspnetpager>
    <asp:RadioButtonList ID="rbl_boxtype" runat="server" AutoPostBack="True" OnSelectedIndexChanged="rbl_boxtype_SelectedIndexChanged" RepeatDirection="Horizontal" RepeatLayout="Flow">
    <asp:ListItem>文本框输入</asp:ListItem>
    <asp:ListItem Selected="true">下拉框选择</asp:ListItem>
    </asp:RadioButtonList>
</asp:Content>

PageIndexBox.aspx.cs:

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using Wuqi.Webdiyer;

public partial class PageIndexBox_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();
    }
    protected void rbl_boxtype_SelectedIndexChanged(object sender, EventArgs e)
    {
        AspNetPager1.PageIndexBoxType = (rbl_boxtype.SelectedIndex == 0)
                                            ? PageIndexBoxType.TextBox
                                            : PageIndexBoxType.DropDownList;
    }
}