仿百度数字分页 .net三层结构

//仿百度数字分页   
    public static void BuildPages(int ToatalCountRecord, int PageItem, int CurrentPage, HtmlGenericControl PageInfo, string strWhere) {   
        int Step = 5;//偏移量    
        int LeftNum = 0;//左界限    
        int RightNum = 0;//右界限    
        string PageUrl = HttpContext.Current.Request.FilePath;   
        int PageCount = (int)Math.Ceiling((double)(ToatalCountRecord) / PageItem);   
        if (CurrentPage - Step < 1)   
        {   
            LeftNum = 1;   
        }   
        else  
        {   
            LeftNum = CurrentPage - Step;   
        }   
        if (CurrentPage + Step > PageCount)   
        {   
            RightNum = PageCount;   
        }   
        else  
        {   
            RightNum = CurrentPage + Step;   
        }   
        string OutPut = "";   
        if (strWhere != null)   
            strWhere = "&" + strWhere;   
        OutPut += "<a href="" + PageUrl + "?page=1" + strWhere + "" mce_href="" + PageUrl + "?page=1" + strWhere + "">" + "首页" + "</a>";   
        if (CurrentPage > 1)   
        {   
            OutPut += " <a href="" + PageUrl + "?page=" + (CurrentPage - 1) + strWhere + "" mce_href="" + PageUrl + "?page=" + (CurrentPage - 1) + strWhere + "">" + "上一页" + " </a>";   
        }   
        if (CurrentPage == 1)   
        {   
            OutPut += " 上一页 ";   
        }   
        for (int i = LeftNum; i <= RightNum; i++)   
        {   
            if (i == CurrentPage)   
            {   
                OutPut += " " + "[" + i.ToString() + "]" + "";   
            }   
            else  
            {   
                OutPut += " <a href="" + PageUrl + "?page=" + i.ToString() + strWhere + "" mce_href="" + PageUrl + "?page=" + i.ToString() + strWhere + "">" + " " + "[" + i.ToString() + "]" + " " + " </a>";   
            }   
        }   
        if (CurrentPage < PageCount)   
        {   
            OutPut += " <a href="" + PageUrl + "?page=" + (CurrentPage + 1) + strWhere + "" mce_href="" + PageUrl + "?page=" + (CurrentPage + 1) + strWhere + "">" + "下一页" + " </a>";   
        }   
        if (CurrentPage == PageCount)   
        {   
            OutPut += " 下一页 ";   
        }   
        int last;   
        if (ToatalCountRecord % PageItem == 0)   
            last = ToatalCountRecord / PageItem;   
        else  
            last = ToatalCountRecord / PageItem + 1;   
        OutPut += "<a href="" + PageUrl + "?page=" + last + strWhere + "" mce_href="" + PageUrl + "?page=" + last + strWhere + "">" + "末页" + "</a>";   
        PageInfo.InnerHtml = OutPut;   
    }  

 

//前台代码   
。。。。数据库插件代码   
<div id="PageInfo" runat="server" class="text" style=" vertical-align:baseline;" mce_style=" vertical-align:baseline;"> </div> 

 

/// 获得数据列表  BLL层   
     public DataSet GetList(string strWhere, int startRecord, int MaxRecord)   
        {   
            return dal.GetList(strWhere, startRecord, MaxRecord);   
        }   
//获得数据列表,DAL层   
public DataSet GetList(string strWhere, int startRecord, int MaxRecord)   
        {   
            StringBuilder strSql = new StringBuilder();   
            strSql.Append("select * ");   
            strSql.Append(" FROM QQ ");   
            if (strWhere.Trim() != "")   
            {   
                strSql.Append(" where " + strWhere);   
            }   
            return DbHelperOleDb.Query(strSql.ToString(), startRecord, MaxRecord);   
        }   
//DBUtility层  DbHelperOleDb.cs   
public static DataSet Query(string SQLString, int startRecord, int MaxRecord)   
        {   
            using (OleDbConnection connection = new OleDbConnection(connectionString))   
            {   
                DataSet ds = new DataSet();   
                try  
                {   
                    connection.Open();   
                    OleDbDataAdapter command = new OleDbDataAdapter(SQLString, connection);   
                    command.Fill(ds, startRecord, MaxRecord, "ds");   
                }   
                catch (System.Data.OleDb.OleDbException ex)   
                {   
                    throw new Exception(ex.Message);   
                }   
                return ds;   
            }   
        }  

 

//分页后台代码 fenye.aspx.cs   
public partial class fenye : System.Web.UI.Page   
    {   
        Maticsoft.BLL.QQ bq = new Maticsoft.BLL.QQ();   
        protected void Page_Load(object sender, EventArgs e)   
        {   
            if (!IsPostBack)   
                RBind();   
        }   
        private void RBind()   
        {   
            int ToatalCountRecord;//总记录数    
            int PageItem = 2;//每页显示的条数    
            int CurrentPage = 1;//当前页数   
            if (Request.QueryString["page"] != null)   
                CurrentPage = int.Parse(Request.QueryString["page"].ToString());   
            int startRecord = (CurrentPage - 1) * PageItem;   
            DataSet ds = new DataSet();   
            ds = bq.GetList("", startRecord, PageItem);   
            this.Repeater1.DataSource = ds;   
            this.Repeater1.DataBind();   
            ToatalCountRecord = bq.Rows("");   
            JScript.BuildPages(ToatalCountRecord, PageItem, CurrentPage, PageInfo, null);   
           
        }   
  
    }  

 

你可能感兴趣的:(数据结构,UI,.net,qq,百度)