public partial class _Default : System.Web.UI.Page
{
    PagedDataSource pd = new PagedDataSource();
    protected void Page_Load(object sender, EventArgs e)
    {
        show();    }    private void show()
    {
        string sql = "select * from contentTable where 1=1";
        if (ddlSubject.SelectedIndex != 0) 
        {
            sql += " and subjectid ="+ddlSubject.SelectedValue;        }
        if (ddlType.SelectedIndex != 0) 
        {
            sql += " and typeid="+ddlType.SelectedValue;
        }        if (txtFind.Text != null && txtFind.Text != "") 
        {
            sql += " and title like '%"+txtFind.Text+"%'";
        }
  
        pd.AllowPaging = true;
        if (ContentTableManager.getContentTableBySql(sql).Count == 0)
        {
            gvNull.Visible = true;
            gv.Visible = false;
        }
        else 
        {
            gvNull.Visible = false;
            gv.Visible = true;
        }
        pd.DataSource = ContentTableManager.getContentTableBySql(sql);
        Ap.RecordCount = pd.DataSourceCount;
        pd.CurrentPageIndex = Ap.CurrentPageIndex - 1;
        pd.PageSize = Ap.PageSize;
        gv.DataSource = pd;
        gv.DataBind();
    }
    protected void AspNetPager1_PageChanged(object sender, EventArgs e)
    {
    
        show();
    }
    protected void subject_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {    }
    protected void btnFind_Click(object sender, EventArgs e)
    {
        show();
    }

解决方案 »

  1.   

     public void dlBind()
        {
            int curpage = Convert.ToInt32(this.labPage.Text);
            PagedDataSource ps = new PagedDataSource();
            sqlconn = myCon.getCon();
            sqlconn.Open();
            string sqlstr = "select a.*,b.* from tb_Card as a join tb_Module as b on a.ModuleID=b.ModuleID";
            SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlconn);
            DataSet ds = new DataSet();
            MyAdapter.Fill(ds, "tb_Card");
            ps.DataSource = ds.Tables["tb_Card"].DefaultView;
            ps.AllowPaging = true; //是否可以分页
            ps.PageSize = 2; //显示的数量
            ps.CurrentPageIndex = curpage - 1; //取得当前页的页码
            this.lnkbtnUp.Enabled = true;
            this.lnkbtnNext.Enabled = true;
            this.lnkbtnBack.Enabled = true;
            this.lnkbtnOne.Enabled = true;
            if (curpage == 1)
            {
                this.lnkbtnOne.Enabled = false;//不显示第一页按钮
                this.lnkbtnUp.Enabled = false;//不显示上一页按钮
            }
            if (curpage == ps.PageCount)
            {
                this.lnkbtnNext.Enabled = false;//不显示下一页
                this.lnkbtnBack.Enabled = false;//不显示最后一页
            }
            this.labBackPage.Text = Convert.ToString(ps.PageCount);
            this.dlContent.DataSource = ps;
            this.dlContent.DataKeyField = "CardID";
            this.dlContent.DataBind();
        }
        protected void lnkbtnOne_Click(object sender, EventArgs e)
        {
            this.labPage.Text = "1";
            this.dlBind();
        }
        protected void lnkbtnUp_Click(object sender, EventArgs e)
        {
            this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1);
            this.dlBind();
        }
        protected void lnkbtnNext_Click(object sender, EventArgs e)
        {
            this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1);
            this.dlBind();
        }
        protected void lnkbtnBack_Click(object sender, EventArgs e)
        {
            this.labPage.Text = this.labBackPage.Text;
            this.dlBind();
        }
    }
      

  2.   

    这跟根不是aspnetpager分页 只是手动分页
      

  3.   

    这和aspnetpager无关,是怎么保存查询条件和获取查询条件的问题,如果你用默认的PostBack分页方式,可以用ViewState来保存查询条件,如果是url分页,可以用Session或Url参数。