/*后台代码*/
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
            Pagering();    
    }
    public void Pagering()
    {
        //初始设置
        int PageSize = 7;//每页显示7项数据
        int TotalRecord = 0;//记录得总数
        int PageCount = 0;//页面总数
        int CurPage = 1;//当前页面数        //获取页面数
        if (Request.QueryString["Page"] != null)
        {
            CurPage = int.Parse(Request.QueryString["Page"].ToString());
        }
        //得到总记录数
        string sql = "select count(id) from film";
        DataSet ds = SQLODB.GetDataset(sql);
        if (ds.Tables[0].Rows.Count > 0)
        {
            TotalRecord = int.Parse(ds.Tables[0].Rows[0][0].ToString());
        }
        //计算总页面数
        if (TotalRecord % PageSize != 0)
        {
            PageCount = TotalRecord / PageSize + 1;
        }
        else
        {
            PageCount = TotalRecord / PageSize;
        }
        //判断
        if (CurPage <= 0)
            CurPage = 1;
        if (CurPage > PageCount)
            CurPage = PageCount;
        //用SQL执行分页
       sql = "select top " + PageSize.ToString() + " * from film where (ID not in (select top " + Convert.ToString((CurPage - 1) * PageSize) + " id from film order by id))order by id desc";
        ds = SQLODB.GetDataset(sql);        //前台显示
        this.LblPageCount.Text = PageCount.ToString();
        this.LblCurPage.Text = CurPage.ToString();
        this.LblPageSize.Text = PageSize.ToString();
        this.LblTotalRecord.Text = TotalRecord.ToString();
        this.HlinkOnePage.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1";
        this.HlinkPrevPage.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1);
        this.HlinkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
        this.HlinkEndPage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(PageCount);
        //绑定数据
        this.Repeater5.DataSource = ds;
       this.Repeater5.DataBind();
    }
}
/*前台代码*/
<table width="100%" height="21" border="0" cellpadding="0" cellspacing="0" background="IMAGES/tab111.gif">
        <form method=Post action="index.asp">
          <tr> 
            <td width="2%"><img src="IMAGES/tab111l.gif" width="5" height="21"></td>
            <td width="96%"><div align="center">[共<b><asp:Label ID="LblPageCount" runat="server" Text=""></asp:Label></b>页] [第<asp:Label ID="LblCurPage" runat="server" Text=""></asp:Label>页] [<asp:Label ID="LblPageSize" runat="server" Text=""></asp:Label>部/页] [共<asp:Label ID="LblTotalRecord" runat="server" Text=""></asp:Label>部] 
                
                <asp:HyperLink ID="HlinkOnePage" runat="server" ForeColor="Black">[首 页]</asp:HyperLink>
                <asp:HyperLink ID="HlinkPrevPage" runat="server" ForeColor="Black">[上一页] </asp:HyperLink>  
                <asp:HyperLink ID="HlinkNext" runat="server" ForeColor="Black">[下一页]</asp:HyperLink>
                <asp:HyperLink ID="HlinkEndPage" runat="server" ForeColor="Black">[尾页]</asp:HyperLink>
                
                <input type='text' name='page2' size=2 maxlength=10 style="font-size:9pt;color:#FFFFFF;background-color:#666666;border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000" value="1" align=center>
                <input name="submit4" type='submit' style="border:1 solid black;FONT-SIZE: 9pt; FONT-STYLE: normal; FONT-VARIANT: normal; FONT-WEIGHT: normal; HEIGHT: 18px; LINE-HEIGHT: normal"  value='Goto'   size=2>
                <INPUT name="hidden" TYPE="hidden" value="">
              </div></td>
            <td align=right width="2%"><img src="IMAGES/tab111r.gif" width="6" height="21"></td>
          </tr>
        </form>
      </table>
    <asp:Repeater ID="Repeater5" runat="server">
    <ItemTemplate>
      <table class="bb" cellSpacing=0 borderColorDark=#696969 cellPadding=3 width="100%" 
      borderColorLight=#3a3a3a border=1>
      </table>
      <table class="bb" cellSpacing=0 borderColorDark=#696969 cellPadding=3 width="100%" 
      borderColorLight=#3a3a3a border=1>
        <tbody>
          <tr> 
            <td width="560"> <table width="100%" height="84" border="0" cellpadding="0" cellspacing="0">
                <tr> 
                  <td class="bb" width="75%">&nbsp;<img src="IMAGES/MARK.GIF" width="14" height="12">&nbsp;电影名称:<a class=title href="#?id=<%# Eval("id") %>"><%# Eval("title") %></a> 
                  </td>
                  <td width="24%" rowspan="4">
                    
                    <div align="left"><table width="80" height="80" border="0" cellpadding="0" cellspacing="0" style="border: 1 solid #fe9500">
                        <tr> 
                          <td><a class=tablink href="#?id=<%# Eval("id") %>"><img src="images/nopic.jpg" class=bk border="0" alt="剧照" width="80" height="80" ></a></td>
                        </tr>
                      </table>
                    </div>
                    
                  </td>
                  <td width="1%" height="50" rowspan="4"><img src="IMAGES/blank.gif" width="3" height="1"> 
                  </td>
                </tr>
                <tr> 
                  <td class="bb" width="75%">&nbsp;<img src="IMAGES/MARK.GIF" width="14" height="12">&nbsp;推荐程度:<%# Eval("filmlevel")%><font color=#ffffff> 强烈推荐</font>
                  </td>
                </tr>
                <tr> 
                  <td class="bb">&nbsp;<img src="IMAGES/MARK.GIF" width="14" height="12">&nbsp;主要演员:<%# Eval("dog")%></td>
                </tr>
                <tr> 
                  <td  class="bb" width="75%" height="18">&nbsp;<img src="IMAGES/MARK.GIF" width="14" height="12">&nbsp;观看次数:<%# Eval("hits") %></td>
                </tr>
                <tr> 
                  <td colspan="3"><div align="center"><a class="txt" href="#?id=<%# Eval("id")%>">点击此处察看详细信息</a></div></td>
                </tr>
              </table></td>
          </tr>
        </tbody>
      </table>
      <table width="560" height="18" border="0" cellpadding="0" cellspacing="0" background="IMAGES/tab222.gif">
        <tr>
          <td width="2%"><img src="IMAGES/tab222l.gif" width="3" height="18"></td>
          <td width="96%">加入时间:<%# Eval("dateandtime") %></td>
          <td align=right width="2%"><img src="IMAGES/tab222r.gif" width="3" height="18"></td>
        </tr>
      </table>
      </ItemTemplate>
    </asp:Repeater>在分页中,首页可以,但点击下一页Page会到下一页,但是数据还是第页的数据,尾页也可以到尾页得数据,在尾页时点上一页,可的到倒数第二页得得数据,但在点上一页时,Page可以为上一页,数据又恢复到了首页得数据~也就是说,真正有用得只有首页,和尾页~不知道为什么,请各位帮帮忙啊~分页代码是不是有问题?还是什么别的问题,谢谢啦~请指点啊·

解决方案 »

  1.   

    url分页!!!!
    代码太多了,看不过来,如果你计算没有问题的话,最好看看看看,你的存储过程。
      

  2.   

    没有存储过程啊~主要得代码就是:
     protected void Page_Load(object sender, EventArgs e) 
        { 
                Pagering();    
        } 
        public void Pagering() 
        { 
            //初始设置 
            int PageSize = 7;//每页显示7项数据 
            int TotalRecord = 0;//记录得总数 
            int PageCount = 0;//页面总数 
            int CurPage = 1;//当前页面数         //获取页面数 
            if (Request.QueryString["Page"] != null) 
            { 
                CurPage = int.Parse(Request.QueryString["Page"].ToString()); 
            } 
            //得到总记录数 
            string sql = "select count(id) from film"; 
            DataSet ds = SQLODB.GetDataset(sql); 
            if (ds.Tables[0].Rows.Count > 0) 
            { 
                TotalRecord = int.Parse(ds.Tables[0].Rows[0][0].ToString()); 
            } 
            //计算总页面数 
            if (TotalRecord % PageSize != 0) 
            { 
                PageCount = TotalRecord / PageSize + 1; 
            } 
            else 
            { 
                PageCount = TotalRecord / PageSize; 
            } 
            //判断 
            if (CurPage <= 0) 
                CurPage = 1; 
            if (CurPage > PageCount) 
                CurPage = PageCount; 
            //用SQL执行分页 
          sql = "select top " + PageSize.ToString() + " * from film where (ID not in (select top " + Convert.ToString((CurPage - 1) * PageSize) + " id from film order by id))order by id desc"; 
            ds = SQLODB.GetDataset(sql); 

            //前台显示 
            this.LblPageCount.Text = PageCount.ToString(); 
            this.LblCurPage.Text = CurPage.ToString(); 
            this.LblPageSize.Text = PageSize.ToString(); 
            this.LblTotalRecord.Text = TotalRecord.ToString(); 
            this.HlinkOnePage.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1"; 
            this.HlinkPrevPage.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1); 
            this.HlinkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1); 
            this.HlinkEndPage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(PageCount); 
            //绑定数据 
            this.Repeater5.DataSource = ds; 
          this.Repeater5.DataBind(); 
        } 
      

  3.   

    在分页中,首页可以,但点击下一页Page会到下一页,但是数据还是第一页的数据,尾页也可以到尾页得数据,在尾页时点上一页,可的到倒数第二页得数据,但在点上一页时,Page可以为上一页,数据又恢复到了首页得数据~也就是说,真正有用得只有首页和尾页~不知道为什么,请各位帮帮忙啊~分页代码是不是有问题?还是什么别的问题,谢谢啦~请指点啊·没用到存储过程~关键的分页执行代码已经有红色注明~