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     }

    第一页没问题

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

    奇怪就奇怪在第二页

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

  • 相关阅读:
    单例模式
    C++中迭代器原理、失效和简单实现
    C++中静态成员变量要在类外部再定义或初始化的原因
    idea maven javaweb项目迁移时的maven和版本报错问题解决(可解决同类错误)
    java 继承类之后,访问不到超类的属性的原因及解决方法
    spring boot admin
    javaweb 报表生成(pdf excel)所需要用到的技术和思路
    团队合作开发git冲突解决方案 Intellij IDEA
    【项目管理】 使用IntelliJ IDEA 将项目发布(提交)到GitLab
    IDEA/Git 设置多个push远程仓库或者同时提交多个push仓库
  • 原文地址:https://www.cnblogs.com/yehuabin/p/1632808.html
Copyright © 2011-2022 走看看