| 发表于:2007-08-21 17:43:25 楼主 |
我在查询的时候是调用的分页函数,但当前页面为第二页时点查询,如果查的只有一二项,或第二次查询比第一次查询结果比第一次少时,始终停留在第二页!下面是分页函数: 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()); } } |
|
|
|
|