protected void Page_Load(object sender, EventArgs e)
    { 
        if (!IsPostBack)
        {
            InitData();
        }
    }    /// <summary>
    /// 数据初始化
    /// </summary>
    protected void InitData()
    {
            int Pageindex = 0;
            Business.Select bs = new Business.Select();
            bs.Area = Session["strArea"].ToString();
            
            //对用于分页的类的引用
            PagedDataSource pds = new PagedDataSource();
            pds.DataSource = bs.SelectUser().Tables[0].DefaultView;
            pds.AllowPaging = true;
            //每页显示的行数
            pds.PageSize = 1;            if (Request.QueryString["Page"] != null)
            {
                Pageindex = Convert.ToInt32(Request.QueryString["Page"]);
            }
            else
            {
                Pageindex = 1;
            }
            //设置当前页 
            if (Pageindex < 1)
            {
                Pageindex = 1;
            }
            pds.CurrentPageIndex = Pageindex - 1;            dlList.DataSource = pds;
            dlList.DataBind();            //显示页码
            lbCount.Text = pds.DataSourceCount.ToString();     //总记录条数
            lbTotal.Text = pds.PageCount.ToString();           //总页数
            lbCurrent.Text = Pageindex.ToString();             //当前页
            //ddlCount.Text = Jump_List(pds.PageCount, Pageindex, L_Manage);
            for (int i = 1; i <= pds.PageCount; i++)
            {
                ddlCount.Items.Add(i.ToString());
            }            HlFirst.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + 1;
            HlPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + (Pageindex - 1);
            HlNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + (Pageindex + 1);
            HlLast.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + pds.PageCount.ToString();
            
            //确定链接的显示方式 
            if (Pageindex <= 1 && pds.PageCount <= 1) 
            {
                HlFirst.NavigateUrl = "";
                HlPrev.NavigateUrl = "";
                HlNext.NavigateUrl = "";
                HlLast.NavigateUrl = "";
            }
            if (Pageindex <= 1 && pds.PageCount > 1)
            {
                HlFirst.NavigateUrl = "";
                HlPrev.NavigateUrl = "";
            }
            if (Pageindex >= pds.PageCount)
            {
                HlNext.NavigateUrl = "";
                HlLast.NavigateUrl = "";
            }
    }
第一次加载页面的时候,一切正常,点击下一页的时候数据没有加载上去,望各位高手指点迷津,谢谢~

解决方案 »

  1.   

    翻页以后还要执行一次InitData();
      

  2.   

    详细写法
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                FillData();
            }
        }
        static PagedDataSource Pds;
        void FillData()
        {
            SqlConnection Conn = new SqlConnection("Data Source=192.168.1.30;database=Ticket_Info_Data;UID=sa;Password=sa;Persist Security Info=True;");
            Conn.Open();
            SqlDataAdapter Sda = new SqlDataAdapter("select * from DomesticFlight", Conn);
            DataSet Ds = new DataSet();
            Sda.Fill(Ds);
            Pds = new PagedDataSource();
            Pds.DataSource = Ds.Tables[0].DefaultView;
            Pds.AllowPaging = true;
            Pds.PageSize = 6;
            this.DataList1.DataSource = Pds;
            this.DataList1.DataBind();
            Conn.Close();
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            PastText i = new PastText();
            this.TextBox2.Text = i.AddThickness(this.TextBox1.Text);
            this.Response.Write(this.TextBox2.Text.Length);
        }
        protected void LinkButton2_Click(object sender, EventArgs e)
        {
            Pds.CurrentPageIndex++;
            this.DataList1.DataSource = Pds;
            this.DataList1.DataBind();
        }
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            Pds.CurrentPageIndex--;
            this.DataList1.DataSource = Pds;
            this.DataList1.DataBind();
        }
      

  3.   

    你在分页事件里执行InitData(),重新绑定数据了么?
    如果绑了你就跟踪一下 看看是那里的问题 应该很好解决啊
      

  4.   

    点击下一页的时候数据没有加载上去======你得再次加载数据,并绑定到 DataList 上
      

  5.   

    是将数据加载在HyperLink的什么事件吗?
      

  6.   

    protected void Page_Load(object sender, EventArgs e)
        { 
            if (!IsPostBack)
            {
                InitData();
            }
        }
    这个不行吧,每次都要加载的
      

  7.   

    whb147(苦乐随缘) ( ) 信誉:100  2007-09-11 11:52:25  得分: 0  
     drk928(一起看斜阳) ( ) 信誉:105  
    就他们说的,绝对没问题
    什么重新帮定都是扯的,也不看看具体的问题
      

  8.   

    libany(紫心灯) ( )  
       whb147(苦乐随缘) ( ) 信誉:100  2007-09-11 11:52:25  得分: 0  
     drk928(一起看斜阳) ( ) 信誉:105  
    就他们说的,绝对没问题
    什么重新帮定都是扯的,也不看看具体的问题
    ============================================================================if (!IsPostBack) 去掉了也不行啊~  
     
      

  9.   

    HyperLink没有Click事件,各位高手能不能说详细点,怎样再次绑定数据~
      

  10.   

    那是你去数据的方式有问题,你应该拿着各个获取到的PAGEINDEX查数据
    开始还没看清楚原来你没用到这个PAGEINDEX,不是
     pds.CurrentPageIndex = Pageindex - 1;            dlList.DataSource = pds;
                dlList.DataBind();
    这么简单就可以了的
    这样你得到的数据集每次都是一样的,变的只有Pageindex
      

  11.   

    libany(紫心灯) 
       那是你去数据的方式有问题,你应该拿着各个获取到的PAGEINDEX查数据
    开始还没看清楚原来你没用到这个PAGEINDEX,不是
     pds.CurrentPageIndex = Pageindex - 1;            dlList.DataSource = pds;
                dlList.DataBind();
    这么简单就可以了的
    这样你得到的数据集每次都是一样的,变的只有Pageindex
    ===============================================================
    谢谢,那我应该怎么处理?
      
     
      

  12.   

    不去掉.if (!IsPostBack)加个翻页控件AspNetPager_grd就好了.
    private void Bind(int intCurrentPage)
    {
    string ErrMessage = null;
    Mod_Business User_Biz=new Mod_Business();


    User_Biz.iPageIndex=intCurrentPage;
    if(User_Biz.Get_SystemList(out ErrMessage))
    {
    AspNetPager_grd.Visible = true;
    AspNetPager_grd.CustomInfoText = "<br>符合条件                                   记录数:" + User_Biz.iRecordCount+ " 总页数                                   为:" + User_Biz.iPageCount + " 当前页为:" +                                    User_Biz.iPageIndex + "<br>";
    AspNetPager_grd.RecordCount = User_Biz.iRecordCount;
    AspNetPager_grd.PageSize = User_Biz.iPageSize;
    AspNetPager_grd.DataBind();

    gridsysname.DataSource=User_Biz.ResultDS.Tables[1].DefaultView;;
    gridsysname.DataBind();
    }
    lbl_err.Text=ErrMessage;
      

  13.   

    bydwater() ( ) 
       
    不去掉.if (!IsPostBack)加个翻页控件AspNetPager_grd就好了.
    private void Bind(int intCurrentPage)
    {
    string ErrMessage = null;
    Mod_Business User_Biz=new Mod_Business();
    User_Biz.iPageIndex=intCurrentPage;
    if(User_Biz.Get_SystemList(out ErrMessage))
    {
    AspNetPager_grd.Visible = true;
    AspNetPager_grd.CustomInfoText = "<br/>符合条件                                   记录数:" + User_Biz.iRecordCount+ " 总页数                                   为:" + User_Biz.iPageCount + " 当前页为:" +                                    User_Biz.iPageIndex + "<br/>";
    AspNetPager_grd.RecordCount = User_Biz.iRecordCount;
    AspNetPager_grd.PageSize = User_Biz.iPageSize;
    AspNetPager_grd.DataBind();gridsysname.DataSource=User_Biz.ResultDS.Tables[1].DefaultView;;
    gridsysname.DataBind();
    }
    lbl_err.Text=ErrMessage;
    ===============================================================================
    谢谢!
    不添加第三方控件能实现吗?
      

  14.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class usercontrols_booklist : System.Web.UI.UserControl
    {
        int page = 0;
        int a = 0;
        int b = 0;
        int howmanybooks;
        int howmanypages;
        DataTable table = null;
        public void bind()
        {
            table = dbmanger.getbooklist(Int32.Parse(Request.QueryString["smallcategoryid"]), page, out howmanybooks, out howmanypages);
            booklist.DataSource = table;
            booklist.DataBind();
        }    protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["smallcategoryid"]!=null&Request.QueryString ["page"]==null)
            {
                page = 1;
                a = page;
                bind();
                up.Enabled = false;
                down.NavigateUrl ="../book.aspx?bigcategoryid=" + Request.QueryString["bigcategoryid"] +
                    "&smallcategoryid=" + Request.QueryString["smallcategoryid"] + "&page=" + (++a);
            }
            else if(Request.QueryString ["page"]!=null)
            {
                page =Int32 .Parse (Request.QueryString["page"]);
                bind();
                if (page > 1&page<=howmanypages)
                {
                    up.Enabled = true;
                    a = page;
                    b = page;
                    up.NavigateUrl = "../book.aspx?bigcategoryid=" + Request.QueryString["bigcategoryid"] +
            "&smallcategoryid=" + Request.QueryString["smallcategoryid"] + "&page=" + (--b);
                    down.NavigateUrl = "../book.aspx?bigcategoryid=" + Request.QueryString["bigcategoryid"] +
            "&smallcategoryid=" + Request.QueryString["smallcategoryid"] + "&page=" + (++a);
                }
                else if (page == 1)
                {
                    a = page;
                    b = page;
                    up.Enabled = false;
                    down.NavigateUrl = "../book.aspx?bigcategoryid=" + Request.QueryString["bigcategoryid"] +
                        "&smallcategoryid=" + Request.QueryString["smallcategoryid"] + "&page=" + (++a);            }
                else
                {
                    a = page;
                    b = page;
                    down.Enabled = false;
                    up.NavigateUrl = "../book.aspx?bigcategoryid=" + Request.QueryString["bigcategoryid"] +
                        "&smallcategoryid=" + Request.QueryString["smallcategoryid"] + "&page=" + (--b);
                }
            }
                
        }
    }
    我编的一个有点愚蠢的代码,但是可以实现翻页。
      

  15.   

    顺便说下上面的代码没用第三方控件,HTML代码如下:
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="booklist.ascx.cs" Inherits="usercontrols_booklist" %>
    <br />
    <asp:HyperLink ID="up" runat="server">上一页</asp:HyperLink>
    <asp:HyperLink ID="down" runat="server">下一页</asp:HyperLink><br />
    <asp:DataList ID="booklist" runat="server" EnableViewState="False" OnItemCommand="booklist_ItemCommand">
        <ItemTemplate>
            <asp:Image ID="image" runat="server"/>
            <asp:HyperLink ID="bookname" runat="server" Text ='<%#Eval("bookname")%>' NavigateUrl ='<%#"../aboutbook.aspx?bookid="+Eval("bookid")%>'></asp:HyperLink>
            <asp:Button ID="buy" runat="server" Text="购买" CommandArgument='<%#Eval("bookid")%>'/><br />
            <asp:Label ID="bookauthor" runat="server"  Text ='<%#Eval("bookauthor")%>'></asp:Label><br />
            <asp:Label ID="bookconcern" runat="server" Text ='<%#Eval("bookconcern")%>'></asp:Label><br />
            <asp:Label ID="price" runat="server" Text ='<%#Eval("bookprice")%>'></asp:Label><br />
            <asp:Label ID="description" runat="server" Text ='<%#Eval("description")%>'></asp:Label>
        </ItemTemplate>
    </asp:DataList>
      

  16.   

    rosickywl(罗西基)
    ==================================
    谢谢,写的不错,结贴了~
      

  17.   

    到中国错误信息网(www.errmsg.cn)的asp.net版去问问吧,
    那里高手比较多,可能有人知道