asp.net多数据分页方法

本文介绍了ASP.NET中实现分页的多种方法,包括使用GridView控件、DataList和DataRepeater控件,并详细展示了利用PagedDataSource进行分页的具体实现步骤。

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(); 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值