请高手指教了..!!

解决方案 »

  1.   

    http://topic.csdn.net/u/20090422/12/99ee8e15-a602-4c54-9028-2db69b63f253.html
    詳見我在6樓的解答。
      

  2.   

    看出了...
    用控件不是更好,Linkbutton也可以,煩一些。
      

  3.   

    我自己写的分页代码,想用LinkButton....
    不知道怎么弄.LinkButton没有回传状态..
    搞不懂.
      

  4.   

    我看了aspnetpager.看不到分页的代码.我想知道他是怎么使用LinkButton的..或者用什么方法,使地址栏中的地址不发生改变.
      

  5.   

    用AspNetpager分页往往还需要在数据库里写存储过程来完成分页,不过很好用,LinkButton较麻烦一些
      

  6.   

    create proc YesRevertLeaveWord @pagesize int,@pageindex int,@clientid int    asselect * from (select LeaveID,ClientID,Title,AppearTime,vContent,vRevert,AdminID,row_number()over(order by LeaveID ASC) d 
    from LeaveWord where ClientID=@clientid and vRevert!='' and SendState=1)
    timer where d between(@pageindex-1)*@pagesize+1 and @pageindex*@pagesize
      --@pagesize:每次显示几条数据 @pageindex:当前显示第几页
      

  7.   

    给linkbutton的commandname分别起名为prev next first last
      

  8.   

    我不是要的这个...
    我是要知道如何使用的LinkButton来生成的分页数字..至于分页代码我自己写了.
    之前用的hyperlink来生成的分页数字.现在想用linkbutton来代替.
      

  9.   

    用linkbutton或其他的都行,只要能設置gridview當前的pageindex就行了
      

  10.   

    自动分页生成的分页代码在哪里看?...linkbutton是没有回传状态的...
      

  11.   


    //前台:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPager.aspx.cs" Inherits="MyPager" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:GridView ID="GridView1" runat="server" Width="249px">
                    <Columns>
                    <asp:BoundField DataField="name" HeaderText="姓名" />
                    <asp:BoundField DataField="sex" HeaderText="性别" />
                    <asp:BoundField DataField="age" HeaderText="年龄" />
                    <asp:BoundField DataField="memo" HeaderText="备注" />
                    </Columns>
                </asp:GridView>
                <asp:Panel ID="Panel1" runat="server" Height="21px" Width="250px">
                </asp:Panel>
            </div>
        </form>
    </body>
    </html>//后台:
    public partial class MyPager : System.Web.UI.Page
    {
        BStudent bstu = new BStudent(); 
        int pagesize = 10; //页大小
        int intepage = 10; //每轮显示10页 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ViewState["pageindex"] = 1;
                ViewState["Pages"] = 0;
                ViewState["Pager"] = 0;
                BindGridView();
            }
            CreatePager();
        }    /// <summary>
        /// 绑定数据
        /// </summary>
        private void BindGridView()
        {
            int PageCount = 0;
            DataTable dt = bstu.GetStudents(PageIndex, pagesize, ref PageCount); //返回数据的方法
            Pages = int.Parse(System.Math.Round(PageCount * 1.0 / pagesize, 0).ToString());
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }    #region 分页实现
        //创建页码
        private void CreatePager()
        {
            if (Pages <= intepage) //当页面不超过一轮时
            {
                for (int i = 1; i <= Pages; i++)
                {
                    LinkButton lb = new LinkButton();
                    lb.Text = i.ToString();
                    lb.ID = "lb" + i.ToString();
                    lb.ToolTip = "第" + i.ToString() + "页";
                    lb.Click += new EventHandler(lb_Click);
                    Panel1.Controls.Add(lb);                Literal li = new Literal();
                    li.Text = " ";
                    Panel1.Controls.Add(li);
                }
            }
            else
            {
                Panel1.Controls.Clear();
                if (Pager > 0)  //添加向前翻动
                {
                    LinkButton Prev = new LinkButton();
                    Prev.Text = "<<";
                    Prev.ID = "Prev";
                    Prev.ToolTip = "向上翻一轮";
                    Prev.Click += new EventHandler(Prev_Click);
                    Panel1.Controls.Add(Prev);
                    Literal li = new Literal();
                    li.Text = " ";
                    Panel1.Controls.Add(li);
                }
                PageIndex = Pager * intepage + 1;
                for (int i = Pager * intepage + 1; i <= ((Pager + 1) * intepage > Pages ? Pages : (Pager + 1) * intepage); i++)
                {
                    LinkButton lb = new LinkButton();
                    lb.Text = i.ToString();
                    lb.ID = "lb" + i.ToString();
                    lb.ToolTip = "第" + i.ToString() + "页";
                    lb.Click += new EventHandler(lb_Click);
                    Panel1.Controls.Add(lb);                Literal li = new Literal();
                    li.Text = " ";
                    Panel1.Controls.Add(li);
                }
                if ((Pager + 1) * intepage < Pages)//添加向后翻动
                {
                    LinkButton Next = new LinkButton();
                    Next.Text = ">>";
                    Next.ID = "Next";
                    Next.ToolTip = "向下翻一轮";
                    Next.Click += new EventHandler(Next_Click);
                    Panel1.Controls.Add(Next);
                }
            }
        }    //向下翻一轮
        void Next_Click(object sender, EventArgs e)
        {
            Pager++;
            CreatePager();
            BindGridView();
        }
        //向上翻一轮
        void Prev_Click(object sender, EventArgs e)
        {
            Pager--;
            CreatePager();
            BindGridView();
        }    //分页事件
        void lb_Click(object sender, EventArgs e)
        {
            LinkButton lb = (LinkButton)sender;
            PageIndex = int.Parse(lb.Text);
            BindGridView();
            foreach (Control button in Panel1.Controls)
            {
                if (button.GetType().Name == "LinkButton")
                {
                    if (((LinkButton)button).Text == lb.Text)
                    {
                        ((LinkButton)button).Enabled = false;
                    }
                    else
                    {
                        ((LinkButton)button).Enabled = true;
                    }
                }
            }
        }
        #endregion    #region property
        public int Pages //总页数
        {
            get
            {
                return int.Parse(ViewState["Pages"].ToString());
            }
            set
            {
                ViewState["Pages"] = value;
            }
        }
        public int PageIndex//当前页索引
        {
            get
            {
                return int.Parse(ViewState["pageindex"].ToString());
            }
            set
            {
                ViewState["pageindex"] = value;
            }
        }
        public int Pager //当前显示第几轮
        {
            get
            {
                return int.Parse(ViewState["Pager"].ToString());
            }
            set
            {
                ViewState["Pager"] = value;
            }
        }
        #endregion
    }