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#常用的基础概念
    Visual Studio2010+SOS.dll调试入门 摘自 http://www.cnblogs.com/luminji/archive/2011/01/27/1946217.html
    优化数据库之前的10个问题
    js数组清空的两种方式
    我的资源(网站, 工具)
    iis使用十大原则
    SQL2005分页存储过程
    温故而知新:Delegate,Action,Func,匿名方法,匿名委托,事件
    无法获得数据库 'model' 上的排他锁 网上搜索结果 IT
  • 原文地址:https://www.cnblogs.com/yehuabin/p/1632808.html
Copyright © 2011-2022 走看看