Fork me on GitHub

AspNetPager demo - Search result paging (url)

Url search result paging with AspNetPager.

Order ID >=  
Order IDOrder DateCompany NameCustomer IDEmployee Name
11077 5/6/1998 Rattlesnake Canyon Grocery RATTC Nancy Davolio
11076 5/6/1998 Bon app' BONAP Margaret Peacock
11075 5/6/1998 Richter Supermarkt RICSU Laura Callahan
11074 5/6/1998 Simons bistro SIMOB Robert King
11073 5/5/1998 Pericles Comidas clásicas PERIC Andrew Fuller
11072 5/5/1998 Ernst Handel ERNSH Margaret Peacock
11071 5/5/1998 LILA-Supermercado LILAS Nancy Davolio
11070 5/5/1998 Lehmanns Marktstand LEHMS Andrew Fuller
11069 5/4/1998 Tortuga Restaurante TORTU Nancy Davolio
11068 5/4/1998 Queen Cozinha QUEEN Laura Callahan
11067 5/4/1998 Drachenblut Delikatessen DRACD Nancy Davolio
11066 5/1/1998 White Clover Markets WHITC Robert King
Page:1/27 12/Page  Order:1-12 of 318
12345678910...>>>  

UrlSearch.aspx:


<div>Order ID >= <asp:TextBox ID="tb_orderid" runat="server" Width="90px" Text="11000"></asp:TextBox>
    <asp:Button ID="btn_search" runat="server" OnClick="btn_search_Click" Text="Search" />
    <asp:Button ID="btn_all" runat="server" OnClick="btn_all_Click" Text="Show All" Enabled="false"/>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="tb_orderid"
        Display="Dynamic" ErrorMessage="RequiredFieldValidator">Required</asp:RequiredFieldValidator> 
    <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="tb_orderid"
        Display="Dynamic" ErrorMessage="CompareValidator" Operator="DataTypeCheck" SetFocusOnError="True"
        Type="Integer">Must be an integer value</asp:CompareValidator>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SqlConnection %>">
    </asp:SqlDataSource>
</div>

   <asp:Repeater ID="Repeater1" runat="server" >
        <HeaderTemplate>
        <table width="100%" class="table table-bordered">
        <tr style="backGround-color:#CCCCFF"><th style="width:15%">Order ID</th><th style="width:15%">Order Date</th><th style="width:30%">Company Name</th><th style="width:20%">Customer ID</th><th style="width:20%">Employee Name</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" PageSize="12" AlwaysShow="True" ShowCustomInfoSection="Left" ShowDisabledButtons="false" ShowPageIndexBox="always" PageIndexBoxType="DropDownList"
    CustomInfoHTML="Page:<font color='red'><b>%currentPageIndex%</b></font>/%PageCount% %PageSize%/Page  Order:%StartRecordIndex%-%EndRecordIndex% of %RecordCount%" UrlPaging="true" OnPageChanged="AspNetPager1_PageChanged"></webdiyer:aspnetpager>

UrlSearch.aspx.cs:

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

public partial class UrlSearch_Default : Page
{
    private int minId=0;
    protected void Page_Load(object sender, EventArgs e)
    {
        string cmd = "select count(*) from orders";
        if (int.TryParse(Request.QueryString["minid"], out minId) && minId > 0)
        {
            cmd = "select count(*) from orders where orderid>=" + minId;
            btn_all.Enabled = true;
        }
        else
            btn_all.Enabled = false;
        AspNetPager1.RecordCount = (int) SqlHelper.ExecuteScalar(CommandType.Text, cmd);
    }

    protected void btn_search_Click(object sender, EventArgs e)
    {
        Response.Redirect("default.aspx?minid="+tb_orderid.Text);
    }


    protected void btn_all_Click(object sender, EventArgs e)
    {
        Response.Redirect("default.aspx");
    }
    protected void AspNetPager1_PageChanged(object sender, EventArgs e)
    {
        string cmd =
            "select orderid,orderdate,customerid,CompanyName,EmployeeName from orders order by orderid desc";
        if (minId > 0)
        {
            cmd =
                "select orderid,orderdate,customerid,CompanyName,EmployeeName from orders where orderid>=" +
                minId + " order by orderid desc";
            tb_orderid.Text = minId.ToString();
        }
        SqlDataSource1.SelectCommand = cmd;
        DataView dv = (DataView) SqlDataSource1.Select(DataSourceSelectArguments.Empty);
        AspNetPager1.RecordCount = dv.Count;

        PagedDataSource pds = new PagedDataSource();
        pds.DataSource = dv;
        pds.AllowPaging = true;
        pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
        pds.PageSize = AspNetPager1.PageSize;
        Repeater1.DataSource = pds;
        Repeater1.DataBind();
    }
}