zoukankan      html  css  js  c++  java
  • 分页碰到的一个郁闷问题

    今天做了一个分页的例子本以为没啥问题,但无意中被我发现了个郁闷的问题也不知道怎么回事,贴出来让大家看看。页面部分就一个DataList控件和几个导航条,后台代码:

    代码
     1  protected void Page_Load(object sender, EventArgs e)
     2     {
     3         if (!IsPostBack)
     4         {
     5             int CurrentPage = 1;
     6             if (Request.QueryString["Page"]!=null&&Request.QueryString["Page"]!="")
     7             {
     8                 CurrentPage =Convert.ToInt32( Request.QueryString["Page"]);
     9             }
    10             BindData(CurrentPage);
    11         }
    12 
    13     }
    14 
    15     protected void BindData(int page)
    16     {
    17         DataSet ds=DbHelperSQL.Query("select * from Products");
    18         PagedDataSource pds = new PagedDataSource();
    19         int countRows = ds.Tables[0].Rows.Count;
    20         int pageSize=70;
    21         int countPage = Convert.ToInt32(Math.Ceiling((double)countRows/pageSize));
    22         pds.DataSource = ds.Tables[0].DefaultView;
    23         pds.AllowPaging = true;
    24         pds.PageSize = pageSize;
    25         pds.CurrentPageIndex = page - 1;
    26         DataList1.DataSource = pds;
    27         DataList1.DataBind();
    28         SetNavigate( pds,page);
    29         Label1.Text = "<span style=\"color:red\">"+page.ToString()+"</span>/"+countPage.ToString()+",每页显示"+pageSize.ToString()+"记录,共"+
    30             countRows.ToString()+"条记录!";
    31     }
    32 
    33     protected void SetNavigate(PagedDataSource pds,int page)
    34     {
    35         if (pds.PageCount > 1)
    36         {
    37             if (pds.IsFirstPage)
    38             {
    39                  lnkNext.NavigateUrl = "Default2.aspx?Page=" + Convert.ToString(page + 1);
    40                  lnkLast.NavigateUrl = "Default2.aspx?Page=" + Convert.ToString(pds.PageCount);
    41             }
    42             else if(pds.IsLastPage)
    43             {
    44                 lnkFirst.NavigateUrl = "Default2.aspx?Page=1";
    45                 lnkPrev.NavigateUrl = "Default2.aspx?Page=" + Convert.ToString(page - 1);
    46             }
    47             else
    48             {
    49                 lnkFirst.NavigateUrl = "Default2.aspx?Page=1";
    50                 lnkPrev.NavigateUrl = "Default2.aspx?Page=" + Convert.ToString(page - 1);
    51                 lnkNext.NavigateUrl = "Default2.aspx?Page=" + Convert.ToString(page + 1);
    52                 lnkLast.NavigateUrl = "Default2.aspx?Page=" + Convert.ToString(pds.PageCount);
    53             }
    54         }
    55     }

    第一页没问题

    第二页咋看之下似乎也没啥问题

    奇怪就奇怪在第二页

    当我把鼠标稍微移动到尾页的右侧竟然有个链接,还是返回到首页的真是很奇怪,不知道谁遇到过!

  • 相关阅读:
    团队贡献分
    《一个程序猿的生命周期》读后感
    阅读课本13-17章
    第三阶段冲刺(进度反应)
    阅读<构建之法>10、11、12章
    典型用户与场景描述
    第一阶段小组互评及反馈
    第一阶段总结及第二阶段开始会议
    spring冲刺阶段之团队工作总结
    alpha阶段总结 (第一阶段冲刺成果)
  • 原文地址:https://www.cnblogs.com/yehuabin/p/1632808.html
Copyright © 2011-2022 走看看