小弟做了简单的分页,但是在上一页和下一页上有问题。代码如下:
int curpage = Convert.ToInt32(this.lblCurrentPage.Text);---这句有问题。就是点完下一页,进入第二页后,再点下一页lblCurrentPage.Text值就为0了,点上一页也是,默认lblCurrentPage.Text值是为1的。我已经放在Page_Load里了。高手帮帮忙!谢!
PagedDataSource ps = new PagedDataSource();
ps.DataSource = ds.DefaultView;
ps.AllowPaging = true;
ps.PageSize = 2;
ps.CurrentPageIndex = curpage - 1;
this.lbnFirstPage.Enabled = true;
this.lbnPrevPage.Enabled = true;
this.lbnNextPage.Enabled = true;
this.lbnLastPage.Enabled = true;
if (curpage == 1)
{
this.lbnFirstPage.Enabled = false;
this.lbnPrevPage.Enabled = false;
}
if (curpage == ps.PageCount)
{
this.lbnNextPage.Enabled = false;
this.lbnLastPage.Enabled = false;
}
this.lblRecordCount.Text = Convert.ToString(ps.PageCount);
this.myDropDownList.Items.Clear();
for (int i = 0; i < Convert.ToInt32(this.lblCurrentPage.Text); i++)
{
int pageNumber = i + 1;
ListItem item = new ListItem("第" + pageNumber.ToString() + "页");
if (i == Convert.ToInt32(this.lblCurrentPage.Text))
{
item.Selected = true;
}
myDropDownList.Items.Add(item);
} this.MyDataGrid.DataSource = ps;
this.MyDataGrid.DataBind();
int curpage = Convert.ToInt32(this.lblCurrentPage.Text);---这句有问题。就是点完下一页,进入第二页后,再点下一页lblCurrentPage.Text值就为0了,点上一页也是,默认lblCurrentPage.Text值是为1的。我已经放在Page_Load里了。高手帮帮忙!谢!
PagedDataSource ps = new PagedDataSource();
ps.DataSource = ds.DefaultView;
ps.AllowPaging = true;
ps.PageSize = 2;
ps.CurrentPageIndex = curpage - 1;
this.lbnFirstPage.Enabled = true;
this.lbnPrevPage.Enabled = true;
this.lbnNextPage.Enabled = true;
this.lbnLastPage.Enabled = true;
if (curpage == 1)
{
this.lbnFirstPage.Enabled = false;
this.lbnPrevPage.Enabled = false;
}
if (curpage == ps.PageCount)
{
this.lbnNextPage.Enabled = false;
this.lbnLastPage.Enabled = false;
}
this.lblRecordCount.Text = Convert.ToString(ps.PageCount);
this.myDropDownList.Items.Clear();
for (int i = 0; i < Convert.ToInt32(this.lblCurrentPage.Text); i++)
{
int pageNumber = i + 1;
ListItem item = new ListItem("第" + pageNumber.ToString() + "页");
if (i == Convert.ToInt32(this.lblCurrentPage.Text))
{
item.Selected = true;
}
myDropDownList.Items.Add(item);
} this.MyDataGrid.DataSource = ps;
this.MyDataGrid.DataBind();
上一页代码:
this.lblCurrentPage.Text = Convert.ToString(Convert.ToInt32(this.lblCurrentPage.Text) - 1);
this.BindData();
======================
我觉得你的上一页BTN是runat=server的吧
因为这种按钮点击后都要调用page_load的,所以currentpage又为1了
解决办法就是把currentpage定为全局的,或static不要在page_load中初始化或赋值