Repeater分页问题~在线等!
我在查询的时候是调用的分页函数,但当前页面为第二页时点查询,如果查的只有一二项,或第二次查询比第一次查询结果比第一次少时,始终停留在第二页!下面是分页函数:
private void RepeaterDataBind(string strsql)
{
string strconn = ConfigurationSettings.AppSettings[ "dsn "];
SqlConnection conn = new SqlConnection(strconn);
SqlDataAdapter da = new SqlDataAdapter(strsql,conn);
PagedDataSource objPage=new PagedDataSource();
//创建DataSet对象
DataSet ds = new DataSet();
try
{
//填充数据集
da.Fill(ds, "materiel ");
//设置数据源
objPage.DataSource = ds.Tables[ "materiel "].DefaultView;
//允许分页
objPage.AllowPaging = true;
//设置每页显示的项数
objPage.PageSize = 10;
//定义变量用来保存当前页索引
int CurPage;
//判断是否具有页面跳转的请求
if (Request.QueryString[ "Page "] != null)
CurPage=Convert.ToInt32(Request.QueryString[ "Page "]);
else
CurPage=1;
//设置当前页的索引
objPage.CurrentPageIndex = CurPage-1;
//显示状态信息
lblCurPage.Text = "当前页:第 " + CurPage.ToString()+ "页 ";
//如果当前页面不是首页
if (!objPage.IsFirstPage)
//定义 "上一页 "超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page= " + Convert.ToString(CurPage-1);
//如果当前页面不是最后一页
if (!objPage.IsLastPage)
//定义 "下一页 "超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page= " + Convert.ToString(CurPage+1);
//进行数据绑定
ReMateriel.DataSource = objPage;
ReMateriel.DataBind();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
}
------解决方案--------------------这个代码最开始也学过,但现在一直用aspnetpager免费控件分页