repeater分页的问题.

sky266 2006-07-27 11:04:09
前两天使用url做了一个分页。发现每次分页都要回数据库读取所有数据。效率低了点。
我这里的数据对适时性要求不是太高,看能不能找到一种取出一次再不重新查找就不到数据库重新读取的分页方法。或者分页控件也可以。
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky266 2006-07-27
  • 打赏
  • 举报
回复
找了好久了一直没有看到简单效率又高的分页控件。大家平时都是怎么做的呢?
sky266 2006-07-27
  • 打赏
  • 举报
回复
xray2005()
这个就是我前两天写的那个我觉得效率低了点。
http://community.csdn.net/Expert/topic/4891/4891457.xml?temp=.5975305
xray2005 2006-07-27
  • 打赏
  • 举报
回复
使用PagedDataSource类(位于System.Web.UI.WebControls命名空间里)
xray2005 2006-07-27
  • 打赏
  • 举报
回复
public void Page_Load(Object src,EventArgs e)
{
OleDbConnection objConn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\test.mdb");
OleDbDataAdapter objCommand=new OleDbDataAdapter("select * from Users",objConn);
DataSet ds=new DataSet();
objCommand.Fill(ds);

//对PagedDataSource 对象的相关属性赋值
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ds.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 5;
int CurPage;

//当前页面从Page查询参数获取
if (Request.QueryString["Page"] != null)
CurPage=Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage=1;

objPds.CurrentPageIndex = CurPage-1;
lblCurrentPage.Text = "Page: " + CurPage.ToString();

if (!objPds.IsFirstPage)
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1);

if (!objPds.IsLastPage)
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1);

//把PagedDataSource 对象赋给Repeater控件
Repeater1.DataSource=objPds;
Repeater1.DataBind();
}
sky266 2006-07-27
  • 打赏
  • 举报
回复
up
sky266 2006-07-27
  • 打赏
  • 举报
回复
up

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧