浏览 6424 次
锁定老帖子 主题:asp.net多数据分页方法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-25
1、使用自带分页功能的控件gridview。 优点:方便,代码量少,拖拉控件,修改属性就可以了。 缺点:不灵活,大数据量存在速度和效率问题。
2、datalist和datarepeater 简单、方便、灵活。所需代码量增加。 <asp:DataList ID="DataList1" runat="server" CellPadding="4" ForeColor="#333333" > <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" /> <SelectedItemStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" /> <AlternatingItemStyle BackColor="White" /> <ItemStyle BackColor="#E3EAEB" /> <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" /> <ItemTemplate> subsid: <asp:Label ID="subsidLabel" runat="server" Text='<%# Eval("subsid") %>'></asp:Label><br /> mtext: <asp:Label ID="mtextLabel" runat="server" Text='<%# Eval("mtext") %>'></asp:Label><br /> <br /> </ItemTemplate> </asp:DataList>
<Repeater id="results" runat="server> <ItemTemplate> 记录格式 </ItemTemplate> </Repeater>
(1)双top分页法
string sql = "select top " + pagesize + " * from komain_vote where id not in(select top " + (cpage - 1) * pagesize + " id from komain_vote order by id desc) order by id desc";
this.HyperLink2.NavigateUrl="records.aspx?page="+Convert.ToString(cpage-1);
(2)用PagedDataSource
//对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();
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |