ASP.NET简单分页

来源:互联网 发布:java匿名内部类 final 编辑:程序博客网 时间:2024/06/05 03:10
运行效果:


数字分页类:(PageClass.cs)
using System;

/// <summary>
/// PageClass 的摘要说明
/// </summary>
public class PageClass
{
    #region 数字分页类
    public static string strPage(int intCounts, int intPageSizes, int intPageCounts, int intThisPages, string strUrl)
    {
        int intCount = Convert.ToInt32(intCounts); //总记录数
        int intPageCount = Convert.ToInt32(intPageCounts); //总共页数
        int intPageSize = Convert.ToInt32(intPageSizes); //每页显示
        int intPage = 7;  //数字显示
        int intThisPage = Convert.ToInt32(intThisPages); //当前页数
        int intBeginPage = 0; //开始页数
        int intCrossPage = 0; //变换页数
        int intEndPage = 0; //结束页数
        string strPage = null; //返回值

        intCrossPage = intPage / 2;
        strPage = "共 <font color=/"#FF0000/">" + intCount.ToString() + "</font> 条记录 第 <font color=/"#FF0000/">" + intThisPage.ToString() + "/" + intPageCount.ToString() + "</font> 页 每页 <font color=/"#FF0000/">" + intPageSize.ToString() + "</font> 条 &nbsp;&nbsp;&nbsp;&nbsp;";
        if (intThisPage > 1)
        {
            strPage = strPage + "<a href=/"" + strUrl + "1/"><img src=/"App_Themes/Image/icon_page_01.gif/" alt=/"最前一页/" width=/"21px/" height=/"20px/" border=/"0/" align=/"absmiddle/" /></a> ";
            strPage = strPage + "<a href=/"" + strUrl + Convert.ToString(intThisPage - 1) + "/"><img src=/"App_Themes/Image/icon_page_02.gif/" alt=/"上一页/" width=/"21px/" height=/"20px/" border=/"0/" align=/"absmiddle/" /></a> ";
        }
        if (intPageCount > intPage)
        {
            if (intThisPage > intPageCount - intCrossPage)
            {
                intBeginPage = intPageCount - intPage + 1;
                intEndPage = intPageCount;
            }
            else
            {
                if (intThisPage <= intPage - intCrossPage)
                {
                    intBeginPage = 1;
                    intEndPage = intPage;
                }
                else
                {
                    intBeginPage = intThisPage - intCrossPage;
                    intEndPage = intThisPage + intCrossPage;
                }
            }
        }
        else
        {
            intBeginPage = 1;
            intEndPage = intPageCount;
        }
        if (intCount > 0)
        {

            for (int i = intBeginPage; i <= intEndPage; i++)
            {
                if (i == intThisPage)
                {
                    strPage = strPage + " <font color=/"#FF0000/">" + i.ToString() + "</font> ";
                }
                else
                {
                    strPage = strPage + " <a href=/"" + strUrl + i.ToString() + "/" title=/"第" + i.ToString() + "页/">" + i.ToString() + "</a> ";
                }
            }
        }
        if (intThisPage < intPageCount)
        {
            strPage = strPage + "<a href=/"" + strUrl + Convert.ToString(intThisPage + 1) + "/"><img src=/"App_Themes/Image/icon_page_03.gif/" alt=/"下一页/" width=/"21px/" height=/"20px/" border=/"0/" align=/"absmiddle/" /></a> ";
            strPage = strPage + "<a href=/"" + strUrl + intPageCount.ToString() + "/"><img src=/"App_Themes/Image/icon_page_04.gif/" alt=/"最后一页/" width=/"21px/" height=/"20px/" border=/"0/" align=/"absmiddle/" /></a> ";
        }
        strPage = strPage + " 跳转到第 <input id=/"pageNo/" type=/"text/" size=/"2/" /> 页 <img src=/"App_Themes/Image/icon_page_go.gif/" alt=/"点击跳转/" width=/"30px/" height=/"20px/" border=/"0/" align=/"absmiddle/" style=/"cursor:hand/" OnClick=/"PageGo(/'" + intPageCount.ToString() + "/',/'" + strUrl + "/')/" /> ";
        return strPage;
    }
    #endregion
}

ASP.NET页面:(Default.aspx)
using System;
using System.Data;
using System.Configuration;
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 _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            GetDate(Request.QueryString["KeyWord"]);
        }
    }

    protected void imgSearch_Click(object sender, ImageClickEventArgs e)
    {
        if (this.KeyWord.Text.Length > 0)
        {
            Response.Redirect("Default.aspx?KeyWord=" + this.KeyWord.Text);
        }
        else
        {
            Response.Redirect("Default.aspx");
        }
    }

    protected void GetDate(string Key)
    {
        int CurPage, intRowCount;
        string strKeyWord = null;
        string strUrl = null;
        if (Key != null)
        {
            strKeyWord = Key;
            strUrl = "Default.aspx?KeyWord=" + strKeyWord + "&Page=";
        }
        else
        {
            strKeyWord = "";
            strUrl = "Default.aspx?Page=";
        }
        ProductsBLL ProductsLogic = new ProductsBLL();
        PagedDataSource Products = new PagedDataSource();
        Products.DataSource = ProductsLogic.GetProductByProductName(strKeyWord).DefaultView;
        intRowCount = ProductsLogic.GetProductByProductName(strKeyWord).Rows.Count;
        Products.AllowPaging = true;
        Products.PageSize = 10;
        if (Request.QueryString["Page"] != null)
        {
            CurPage = Convert.ToInt32(Request.QueryString["Page"]);
        }
        else
        {
            CurPage = 1;
        }
        Products.CurrentPageIndex = CurPage - 1;
        this.textPage.Text = PageClass.strPage(intRowCount, Products.PageSize, Products.PageCount, CurPage, strUrl);
        this.RepeaterUser.DataSource = Products;
        this.RepeaterUser.DataBind();
        if (intRowCount < 1)
        {
            Response.Write("<center><strong>提示:没有找到任何数据.</strong></center>");
            this.PanelTable.Visible = false;
        }
    }
}

完整源程序: 点击下载此文件

 

http://www.cnblogs.com/PeriFox/archive/2006/10/31/545793.html

原创粉丝点击