public void PageDisplay() 
    {
        DataIn di = new DataIn();
        //获得总记录数
        nRecCount = di.GetNetFaceInfoCount();
        StringBuilder strHtml = new StringBuilder("");        //取得当前页数,并判断
        if (Request["pagesize"] == null)
            Record_Per_Page = 25;
        else
            Record_Per_Page = Convert.ToInt32(Request["pagesize"]);        //判断是否存在数据记录
        if (nRecCount > 0)
        {
            //确定数据记录要显示的页面数
            nPageCount = nRecCount / Record_Per_Page;
            if (nRecCount % Record_Per_Page > 0)
                nPageCount++;
            if (nPage < 1)
                nPage = 1;
            if (nPage > nPageCount)
                nPage = nPageCount;            //将页面显示到屏幕上,并作连接
            for (int i = 1; i <= nPageCount; i++)
            {
                strHtml.Append("<a href='PicFaceList.aspx?page="+i+"'>");
                if (i == nPage) strHtml.Append("<b>" + i + "</b>");
                else strHtml.Append(i);
                strHtml.Append("</a>&nbsp");            }            //确认当前页面的开始记录和终止记录
            int nStart = Record_Per_Page * (nPage - 1);
            int nEnd = nStart + Record_Per_Page - 1;
            if (nEnd > nRecCount - 1)
                nEnd = nRecCount - 1;            StringBuilder StrSql = new StringBuilder();
            StrSql.AppendFormat("select  * from CARDFACE WHERE rownum <'"+Record_Per_Page.ToString()+"' order by ID desc");            dt = di.GetInfoBySql(StrSql.ToString());            strlnk = strHtml.ToString();
        }    }
写了个分页代码,但现在的问题是跳到下一页数据没有变化,请大狭只点下,多谢??

解决方案 »

  1.   

    protected void Page_Load(object sender, EventArgs e)
        {            PageDisplay();    }
    有什么错?
      

  2.   


     if (!Page.IsPostBack){
         PageDisplay(); 

    应该就没问题了吧!
      

  3.   

    if (!Page.IsPostBack){
         PageDisplay(); 
    }
      

  4.   

    翻页处调用你的绑定函数PageDisplay() 
      

  5.   

     public string ShowPage(int PageCount, string Pageno,string  ClassID,string strColor)
            {
                string strL = "",strC="";;
                StringBuilder strB=new StringBuilder();
                if (Pageno != "")
                {
                    if (int.Parse(Pageno) > PageCount)
                    {
                        Pageno = "1";
                    }
                }
                if (strColor.Trim().Length <= 0)
                    strC = "#EEF8F9";
                else
                    strC = strColor;
                string str = "";
               strB.Append(@"<table cellpadding=""0"" cellspacing=""1"" width=""98%"" height=""21"" align=""center"" bgcolor=""#E0E0E0"" class=""height25"">
    <tr><td align=""right"" bgcolor="""+strC+@""">");
                if (PageCount > 0)
                {
                    strB.Append(@"[当前第");
                    if (Pageno != "")
                       strB.Append(Pageno + "页]/[共" + PageCount.ToString() + "页]");
                    else
                        strB.Append("1页]/[共" + PageCount.ToString() + "页]");
                }
                if (ClassID.Trim() != "")
                    strL = "&" + ClassID + "";
                if (Pageno != "")
                {
                    if (int.Parse(Pageno) > 0)
                    {
                        if (int.Parse(Pageno) - 1 > 0)
                        {
                            strB.Append(@"<a href=?page=1"+strL);
                            strB.Append( @">首页</a> |");
                           strB.Append( @" <a href=?page=");
                            strB.Append( int.Parse(Pageno) - 1);
                            strB.Append(strL);
                            strB.Append(@">上一页</a> |");
                        }
                        else
                           strB.Append(@"<span class=""gray"">首页</span> | <span class=""gray"">上一页</span> |");
                        if (PageCount - int.Parse(Pageno) > 0)
                        {
                            strB.Append(@"<a href=?page=");
                            strB.Append(int.Parse(Pageno) + 1);
                            strB.Append(strL);
                            strB.Append(@">下一页</a> |");
                            strB.Append( @" <a href=?page=");
                            strB.Append(PageCount.ToString());
                            strB.Append(strL);
                            strB.Append(@">尾页</a>");
                        }
                        else
                        {
                            strB.Append(@"<span class=""gray"">下一页</span> | <span class=""gray"">尾页</span>");
                        }
                    }
                    else
                    {
                       strB.Append(@"<span class=""gray"">首页</span> | <span class=""gray"">上一页</span> |)");
                        if (PageCount - 1 > 0)
                        {
                            strB.Append(@"<a href=?page=");
                            strB.Append(strL);
                           strB.Append(@">下一页</a> |");
                            strB.Append(@" <a href=?page=");
                           strB.Append(PageCount.ToString());
                           strB.Append(strL);
                           strB.Append(@">尾页</a> ");
                        }
                        else
                        {
                           strB.Append(@"<span class=""gray"">后页</span> | <span class=""gray"">上一页</span>");
                        }
                    }
                }
                else
                {
                    strB.Append(@"<span class=""gray"">首页</span> | <span class=""gray"">上一页</span> |");
                    if (PageCount - 1 > 0)
                    {
                        strB.Append(@"<a href=?page=");
                        strB.Append("2");
                        strB.Append(strL);
                        strB.Append(@">下一页</a> |");
                        strB.Append(@" <a href=?page=");
                        strB.Append(PageCount.ToString());
                        strB.Append(strL);
                        strB.Append(@">尾页</a> ");
                    }
                    else
                    {
                       strB.Append(@"<span class=""gray"">下一页</span> | <span class=""gray"">尾页</span>");
                    }
                }
               strB.Append(@"&nbsp;跳转到
    <input type=""text"" id=""goPage"" class=""inputText"" class=""inputtext"" style=""text-align:right;width:1em;"">
    <input type=""button"" onclick=""javascript:goto();"" value=""GO"" class=""inputButton""/>
    <script type=""text/javascript"">function goto(n){var n = document.getElementById(""goPage"").value;n = parseInt(n);if (isNaN(n)){return;}
     if (n<=0){n=1;}if (n-1<=0){n=1;}");
               strB.Append(@"u=""?page=""+ n +"""+strL+@""";location.href=u;}</script></td></tr></table>");
                str=strB.ToString();
                return str;
            }
    跟踪看看页码是否正确
      

  6.   

    问下  哥们  你这个str.append()在输出前台html的时候是怎么样定位的
      

  7.   

    你把分页的代码封装在一个方法中,每次点上/下一页的时候要重新调用这个方法,还有就是要吧当前的页数要保存在ViewState中,
      

  8.   

    兄弟你写的太烦了,一个存储过程搞定,如果需要总记录条数或者总页数,在里面添加个返回值就行了!!
    分页加计算查询时间
    IF EXISTS (SELECT name FROM sysobjects 
             WHERE name = 'bao_B')
       DROP PROCEDURE bao_B
    GO--try:
    create PROCEDURE bao_B 
    --把char换成varchar.***********
    --用char的话,不足位的话会以空格补位。
    @pageSize INT,
    @pageIndex INT,
    @ItemNum varchar(10), 
    @OrderNum varchar(30), 
    @CustNum varchar(30), 
    @beginTime DATETIME, 
    @endTime DATETIME 
    AS 
    begin 
    --把datetime类型转化成varchar*****************
    declare @sql varchar(8000)set @sql='select TOP '+convert(varchar(20),@pageSize)+' ItemNum,OrderNum,CustNum,StockDate FROM S_Info 
     WHERE ItemNum LIKE ''%'+@ItemNum+'%'' AND OrderNum LIKE ''%'+@OrderNum+'%'' AND 
     CustNum LIKE ''%'+@CustNum+'%'' AND convert(varchar(20),StockDate,120) 
    BETWEEN '''+convert(varchar(20),@beginTime,120)+''' AND '''+convert(varchar(20),@EndTime,120)+'''
    AND Identify NOT IN(SELECT TOP '+convert(varchar(20),(@pageIndex-1)*@pageSize)+' Identify 
    FROM S_Info WHERE ItemNum LIKE ''%'+@ItemNum+'%'' AND OrderNum LIKE ''%'+@OrderNum+'%'' AND 
     CustNum LIKE ''%'+@CustNum+'%'' AND convert(varchar(20),StockDate,120) 
    BETWEEN '''+convert(varchar(20),@beginTime,120)+''' AND '''+convert(varchar(20),@EndTime,120)+''' 
    ORDER BY ItemNum ASC) ORDER BY ItemNum ASC' 
    exec (@sql)end 
    GO