如何利用datalist进行人页显示?就像http://www.eeloves.com/memorials这个网站一样,不同的类别下面有不同的数据, 同一个页面分页显示同类数据   效果为:下一页  上一页   当前第?/?页  跳转到_页这样的格式100分送上` 急急啊  最好是源程序  方法也行`小弟是从winform转过来的` 对网站一点也不通` 肯求大家帮助  先谢谢了 

解决方案 »

  1.   

    ASPX页加上这些东西:
    <asp:label ID="lblCurrentPage" runat="server"></asp:label> 
    <asp:HyperLink id="LnkFirst" runat="server">首页</asp:HyperLink>
    <asp:HyperLink id="lnkPrev" runat="server">上一页</asp:HyperLink>
    <asp:HyperLink id="lnkNext" runat="server">下一页</asp:HyperLink>
    <asp:HyperLink id="LnkLast" runat="server">尾页</asp:HyperLink>if (!IsPostBack)
    {
    PagedDataSource objPds = new PagedDataSource();
    objPds.DataSource ={你的数据源};
    objPds.AllowPaging = true;
    objPds.PageSize = 10;
    int CurPage;
    //double temp = dt.Rows.Count / objPds.PageSize;
    int PageCount = dtApp.Rows.Count / objPds.PageSize;
    if (dtApp.Rows.Count % objPds.PageSize > 0)
    {
    PageCount++;
    }if (Request.QueryString["Page"] != null)
    {
    CurPage = Convert.ToInt32(Request.QueryString["Page"]);
    }
    else
    {
    CurPage = 1;
    }objPds.CurrentPageIndex = CurPage - 1;
    lblCurrentPage.Text = "当前页:" + CurPage.ToString() + "  共" + PageCount.ToString() + "页";
    LnkFirst.NavigateUrl = Request.CurrentExecutionFilePath ;
    if (!objPds.IsFirstPage)
    lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1) ;if (!objPds.IsLastPage)
    lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1) ;LnkLast.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(PageCount) ;
    Datalist1.DataSource = objPds;
    Datalist1.DataBind();
    }
      

  2.   

    1.找一个分页的存储过程,直接对数据源分页(这也是推荐的做法)
    2.找找孟子e章里的那些接触代码范例(里面直接有个通过DataAdapter 填充方式实现的代码分页)
      

  3.   


    using System;
    using System.Data;
    using System.Configuration;
    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;
    using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            bind();
        }    protected void bind()
        {
            string sqlconnstr = "Server=.;database=ThingKing;uid=sa;pwd=sa";/*连接数据库的字符串*/
            string stradd;
            SqlConnection conn = new SqlConnection(sqlconnstr);
            conn.Open();
            stradd = "select pwd from land";        SqlDataAdapter da = new SqlDataAdapter(stradd, conn);
            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            da.Fill(ds);
            int curpage = Convert.ToInt32(this.labpage.Text);
            PagedDataSource ps = new PagedDataSource();   //定义PagedDataSource对象
            ps.DataSource = ds.Tables[0].DefaultView;  //取出数据到datatable中,赋给PagedDataSource对象
            ps.AllowPaging = true;  //是否可以分页
            ps.PageSize = 4; //显示的数量
            ps.CurrentPageIndex = curpage - 1; //取得当前页的页码,PagedDataSource的CurrentPageIndex是从0开始
            this.linkbtnone.Enabled = true;
            this.linkbtnpre.Enabled = true;
            this.linkbtnnext.Enabled = true;
            this.linkbtnlast.Enabled = true;
            if (curpage == 1)
            {
                this.linkbtnone.Enabled = false;
                this.linkbtnpre.Enabled = false;
            }
            if (curpage == ps.PageCount)
            {
                this.linkbtnnext.Enabled = false;
                this.linkbtnlast.Enabled = false;
            }
            //this.labtp.Text = Convert.ToString(ps.PageCount);  //显示分页数量
            this.DataList1.DataSource = ps;   //绑定DataList控件
            this.DataList1.DataKeyField = "pwd";
            this.DataList1.DataBind();
            conn.Close();    }
    }为什么没有数据啊  在查询分析器里面执行select pwd from land 是有数据的` 运行了以后什么也不显示this.DataList1.DataSource = ps;指定数据源了也不行啊