首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

新手。问一个分页代码的一部分(currentpageindex相关)

2013-04-02 
新手求助。问一个分页代码的一部分(currentpageindex相关)这里边加红一段的作用求解释!private void getGoo

新手求助。问一个分页代码的一部分(currentpageindex相关)
这里边加红一段的作用求解释!

private void getGoods()
    {
        //获取数据
        string strsql = "select  * from 新闻信息 where 新闻类别 like '" + Request.Params["id"].ToString() + "' order by  流水号 desc";
        DataTable dt = BaseClass1.ReadTable(strsql);

        //实现分页
        PagedDataSource objPds = new PagedDataSource();
        objPds.DataSource = dt.DefaultView;
        objPds.AllowPaging = true;
        objPds.PageSize = 12;
        int CurPage = Convert.ToInt32(this.LabelPage.Text);
        objPds.CurrentPageIndex = CurPage - 1;
        if (objPds.CurrentPageIndex < 0)
        {
            objPds.CurrentPageIndex = 0;
        }

        //只有一页时禁用上页、下页按钮
        if (objPds.PageCount == 1)
        {
            LinkButtonPrev.Enabled = false;
            LinkButtonNext.Enabled = false;
        }
        else//多页时
        {
            //为第一页时
            if (CurPage == 1)
            {
                LinkButtonPrev.Enabled = false;
                LinkButtonNext.Enabled = true;
            }
            //是最后一页时
            if (CurPage == objPds.PageCount)
            {
                LinkButtonPrev.Enabled = true;
                LinkButtonNext.Enabled = false;
            }
        }

        this.LabelTotalPage.Text = Convert.ToString(objPds.PageCount);
        GridView1.DataSource = objPds;
        GridView1.DataBind();

    }

   
    //首页
    protected void LinkButtonFirst_Click(object sender, EventArgs e)


    {
        this.LabelPage.Text = "1";
        getGoods();
    }
    //上一页
    protected void LinkButtonPrev_Click(object sender, EventArgs e)
    {
        this.LabelPage.Text = Convert.ToString(int.Parse(this.LabelPage.Text) - 1);
        getGoods();
    }
    //下一页
    protected void LinkButtonNext_Click(object sender, EventArgs e)
    {
        this.LabelPage.Text = Convert.ToString(int.Parse(this.LabelPage.Text) + 1); ;
        getGoods();
    }
    //末页
    protected void LinkButtonLast_Click(object sender, EventArgs e)
    {
        this.LabelPage.Text = this.LabelTotalPage.Text;
        getGoods();
    }
[解决办法]
  int CurPage = Convert.ToInt32(this.LabelPage.Text); //界面上当前页数
         objPds.CurrentPageIndex = CurPage - 1;       //因为C#从0开始表示第1页,1表示第2页,...所以要把界面上的页面减1
         if (objPds.CurrentPageIndex < 0) //因为页码最小是0,所以防止减多了,变成了负数,         
           {
             objPds.CurrentPageIndex = 0;
         }
 
[解决办法]
把当前界面Name属性为LabelPage的Label标签的Text属性赋给变量CurPage,即当前页面显示的页数,然后赋给对象objPds的CurrentPageIndex属性,即赋给对象objPds的当前页属性的索引。最后判断刚赋值的当前页索引是否小于0,若小于0,则赋为0,因为页码索引最小为0。

热点排行