ASP.net 分页 我只能做到,上一页,下一页, 跳转页,  我想实现 在上一页  下一页 之间 显示 1,2,3,4,5,6....这样的 就像: 上一页    1,2,3,4,5,6.....  下一页 
如果 用aspnetpage 控件 又能不能把他的  < <  <  > >> 换成图片按钮呢  它的样式不好看 会的麻烦留下代码  拜托了    又没分了,过后补上(30)

解决方案 »

  1.   

    后台    private void DataPageBind()
        {
            PagedDataSource pds = new PagedDataSource();
            //对PagedDataSource 对象的相关属性赋值   
            IList<MessageInfo> pageList = MessageInfoManager.GetList();
            pds.DataSource = pageList;
            pds.AllowPaging = true;
            pds.PageSize = 5;
            pds.CurrentPageIndex = Pager;
            lblCurrentPage.Text = "第 " + (pds.CurrentPageIndex + 1).ToString() + " 页 共 " + pds.PageCount.ToString() + " 页";
            SetEnable(pds);        //把PagedDataSource 对象赋给GridView控件 
            this.rpMessage.DataSource = pds;
            this.rpMessage.DataBind();
        }    #region  翻页
        private void SetEnable(PagedDataSource pds)
        {
            btnPrev.Enabled = true;
            btnNext.Enabled = true;
            if (pds.IsFirstPage)
                btnPrev.Enabled = false;        if (pds.IsLastPage)
                btnNext.Enabled = false;
        }
        protected void btnNext_Click(object sender, EventArgs e)
        {
            Pager++;
            DataPageBind();
        }
        protected void btnPrev_Click(object sender, EventArgs e)
        {
            Pager--;
            DataPageBind();
        }
        /// <summary>
        /// 当前页数
        /// </summary>
        private int Pager
        {
            get
            {
                return (int)ViewState["Page"];
            }
            set
            {
                ViewState["Page"] = value;
            }
        }
        #endregion
    前台             <div style="text-align: center;">
                                <asp:Label ID="lblCurrentPage" runat="server" Text=""></asp:Label>
                                <asp:Button ID="btnPrev" CssClass="buttonCss" runat="server" Text="上一页" OnClick="btnPrev_Click" />
                                <asp:Button ID="btnNext" CssClass="buttonCss" runat="server" Text="下一页" OnClick="btnNext_Click" />
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            </div>
      

  2.   

    aspnetpage可以设置样式啊 ,<<>>这个都可以设置掉的。
    用样式可以设置成好看的,如果不知道应该怎么希望看aspnetpage生成的html就可以了
      

  3.   

    想生成1,2,3,4,5那样的需要查记录数(RecordCount),然后除PageSize,得出来的。至于按钮的样式,可以自己写CSS,然后挂上
      

  4.   

     protected void Turn_Click(object sender, EventArgs e)
        {
            GridView1.PageIndex = int.Parse(((TextBox)GridView1.BottomPagerRow.FindControl("txtGoPage")).Text) - 1;
            bin();//对GridView进行再次绑定,该函数由自己编写
        }    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            bin();//
        }
        protected void txtGoPage_TextChanged(object sender, EventArgs e)
        {    }
       <PagerTemplate><div style="text-align:center; color:Blue">
          <asp:LinkButton ID="cmdFirstPage" runat="server" CommandName="Page" CommandArgument="First"
           Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=0 %>">首页</asp:LinkButton>
          <asp:LinkButton ID="cmdPreview" runat="server" CommandArgument="Prev" CommandName="Page"
           Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=0 %>">前页</asp:LinkButton>
          第<asp:Label ID="lblcurPage" ForeColor="Blue" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageIndex+1  %>'></asp:Label>页/共<asp:Label
           ID="lblPageCount" ForeColor="blue" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageCount %>'></asp:Label>页
          <asp:LinkButton ID="cmdNext" runat="server" CommandName="Page" CommandArgument="Next"
           Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=((GridView)Container.Parent.Parent).PageCount-1 %>">后页</asp:LinkButton>
          <asp:LinkButton ID="cmdLastPage" runat="server" CommandArgument="Last" CommandName="Page"
           Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex!=((GridView)Container.Parent.Parent).PageCount-1 %>">尾页</asp:LinkButton>
           &nbsp;<asp:TextBox ID="txtGoPage" OnTextChanged="txtGoPage_TextChanged" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageIndex+1 %>'
           Width="32px"  CssClass="inputmini"></asp:TextBox>页<asp:Button ID="Button3" runat="server"
               OnClick="Turn_Click" Text="转到" /></div>
    </PagerTemplate>