我用linq做gridview的分页,用skip()和take(),点了第一页之后就没有页码
这是第一页点了页码就成下面这样了页码没了
是怎么回事??

解决方案 »

  1.   

    还有,断点调试下,
    看到底是数据的问题,
    还是linq语句的问题,
    或者是分页控件代码的问题。你自己的系统,好调试,
    我们没有办法调试,
    只能看代码,
    很痛苦的
      

  2.   

    //绑定
            public void Bind()
            {
                DataDataContext uidc = new DataDataContext("Data Source=1-               51ad74db663f4;Initial Catalog=LinqWeb;User ID=sa;pwd=''");
                GridView1.DataSource = from c in uidc.user_info select new { 编号 = c.userId, 姓名 = c.userName, 年龄 = c.userAge, 性别 = c.userSex };
                GridView1.DataBind();
            }        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
            {
                DataDataContext uidc = new DataDataContext("Data Source=1-51ad74db663f4;Initial Catalog=LinqWeb;User ID=sa;pwd=''");
                GridView1.DataSource = (from c in uidc.user_info select new { 编号 = c.userId, 姓名 = c.userName, 年龄 = c.userAge, 性别 = c.userSex }).Skip(3 * (this.GridView1.PageIndex + 1)).Take(3).ToList();
                GridView1.DataBind();
                //Response.Write(this.GridView1.PageIndex);
            }
      

  3.   


    你只给GridView1三条数据,他再怎么分页。
      

  4.   

    GridView1分页功能是自带的,默认三条数据为一页。
    你给它绑定15条数据,它就会自动分成5页。
    但是你只给它三条数据,它只够一页,用不着分,所以没有页码
      

  5.   

    用linq绑定的gridview数据直接分不了页,所以就用这个(Skip(3 * (this.GridView1.PageIndex + 1)).Take(3).ToList()),点到是可以点了,就是点了就没有页码了,
      

  6.   

    没有你这样分页的要么利用GridView自动分页功能,
    用dataset接收linq返回的数据,再绑定到GridView要么自己写分页方法和控件。。
      

  7.   

    利用GridView自带分页,这样写就可以了
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
         GridView1.PageIndex = e.NewPageIndex;
         this.Bind();
    }