不过可以自已写分页控件来支持DataList,详细看
http://www.icad.com.cn/article/list.asp?id=505

解决方案 »

  1.   

    不用控件也可以。
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    try
    {
    string connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath("book.asp");
    string sql = "select * from guest order by id desc" ; 
    OleDbConnection conn = new OleDbConnection( connstr ) ;
    OleDbDataAdapter da = new OleDbDataAdapter( sql,conn);
    DataSet ds = new DataSet();
    da.Fill(ds); PagedDataSource objpds = new PagedDataSource();
    objpds.DataSource = ds.Tables[0].DefaultView;
    objpds.AllowPaging = true;
    objpds.PageSize = 8;
    int currentpage;
    if(Request.QueryString["page"] != null)
    currentpage = Convert.ToInt32(Request.QueryString["page"]);
    else
    currentpage = 1;
    objpds.CurrentPageIndex = currentpage-1;
    lblCurrentpage.Text = "当前页" + currentpage.ToString();

    if( !objpds.IsFirstPage )
    this.lnkprev.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(currentpage-1);
    if( !objpds.IsLastPage )
    this.lnknext.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(currentpage+1); main.DataSource = objpds;
    main.DataBind(); }
    catch(Exception ex )
    {
    Response.Write("错误:" + ex.ToString());
    }
    }
      

  2.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=D5C6E29D-99F5-44E8-4FED-75AF892A53CB
    这个例子是repeater的。但是使用datalist。也就是我上面的方法。
      

  3.   

    你得自己计算分页,参考:Paging a DataList
    http://www.csharphelp.com/archives3/archive544.html?printable=yes
      

  4.   

    TO bineon(雪冬寒) 
    你的main是什么控件
    PagedDataSource 我在窗体里面也没找到直接可以用吗?