日期:2014-05-17  浏览次数:20508 次

纠结。aspnetpager和DataList绑定了以后就只有出现一页
这学期刚学了ASP.net一本书什么都没教,只是爱好在家做,但是在网上找了很多资料结果aspnetpager和DateList绑定了可是只出现的一页数据,这是一个考试系统,正在做分页,但是如果不用DateList就是所有的单选题全都出现在浏览器很不和谐。一下是我在网上找的代码还是能用但是只能显示一页,纠结了一天了: 
   
 if (!IsPostBack)
  {
  SqlConnection constr = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True");
  constr.Open();
  SqlCommand cmd = new SqlCommand();
  cmd.Connection = constr;
  cmd.CommandText = "select count(*) from QuestionBank_Single";
  AspNetPager1.AlwaysShow = true;
  AspNetPager1.PageSize = 3;  
  AspNetPager1.RecordCount = (int)cmd.ExecuteScalar();
  constr.Close();
  DateBind();
  }  
  }
  private void DateBind()
  {
   
  SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True");
  SqlDataAdapter adpter = new SqlDataAdapter("select * from QuestionBank_Single",con);
  DataSet ds=new DataSet();
  adpter.Fill(ds,AspNetPager1.PageSize*(AspNetPager1.CurrentPageIndex-1),AspNetPager1.PageSize,"QuestionBank_Single");  
  DataList1.DataSource = ds.Tables["QuestionBank_Single"];
  DataList1.DataBind();
  }
  protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
  {
  AspNetPager1.CurrentPageIndex = e.NewPageIndex;
  DateBind();
  }


------解决方案--------------------
http://blog.csdn.net/dalmeeme/article/details/6769583

这个是GridView的,改成DataList就行了,另外分页的SQL语句改一下,用双top那种。
------解决方案--------------------
datalist分页代码如下:
C# code

1控件准备:2个Label 一个用来绑定第几页,一个用来绑定总页数;5个linkbutton 分别为(首页、上一页、下一页、尾页、Go);1个textbox用来绑定跳转到的页数
2代码:首先在load里面声明刚开始的页数为1,(注意:一定要在非回传页面下) 即 
         //非回传,非常重要  
         if (!IsPostBack)
            {
                Lcount.Text = "1";
                MoreBind();
            }
      // 绑定数据:
   public void CheckBind()
    {
        Infos i = new Infos();
        string tile = Ttile.Text;
        string content = Tcontent.Text;
        string puser = Tpuser.Text;
        //第几页
        int CurPage= Convert.ToInt32(Lcount.Text);
        //当前页面从Page查询参数获取           
        PagedDataSource ps = new PagedDataSource();
        ps.DataSource = i.QT_Select(tile, content, puser).DefaultView;
        ps.AllowPaging = true;
        ps.PageSize = 10;
        ps.CurrentPageIndex = CurPage - 1;
        //绑定总页数
        Lsl.Text = ps.PageCount.ToString();
        if (ps.IsFirstPage)
        {
            Lfrist.Enabled = false;
            Lpev.Enabled = false;
        }
        else
        {
            Lfrist.Enabled = true;
            Lpev.Enabled = true;
        }
        if (ps.IsLastPage)
        {
            Lnext.Enabled = false;
            Llast.Enabled = false;
        }
        else
        {
            Lnext.Enabled = true;
            Llast.Enabled = true;
        }
        DlMore.DataSource = ps;
        DlMore.DataBind();
    }
3 5个linkbutton 的单击事件:
    //首页
    protected void Lfrist_Click(object sender, EventArgs e)
    {
        Lcount.Text = "1";
        CheckBind();

    }
    //上一页
    protected void Lpev_Click(object sender, EventArgs e)
    {
        Lcount.Text = Convert.ToString(Convert.