Repeater控件分页例子_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:ASP.NET立即上手教程(14)
创作自定义服务器控件 本章的内容演示高级开发者如何书写ASP.NET页面中的服务器控件。通过书写自定义的服务器控件,可以封装定制的用户接口以及其他功能。本教程通过一系列逐渐展开的例子提供

Repeater和DataList控件提供了一个快速、灵活的表现数据的方式,但是,它们没有内建的分页功能;DataGrid控件提供了内建的分页功能,但它的结构比较复杂。下面就用PagedDataSource类实现Repeater和DataList的分页。 PagedDataSource封装了DataGrid的分页属性,我们可以象DataGrid那样进行分页。代码如下:

以下为引用的内容:
<%@ Page Language="C#" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.OleDb" %>
<script language="C#" runat="server">
public void Page_Load(Object src,EventArgs e) {
OleDbConnection objConn=new OleDbConnection("<br>
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" Server.MapPath("../aspxWeb.mdb"));
OleDbDataAdapter objCommand=new OleDbDataAdapter("select * from<br>
Document",objConn); DataSet ds=new DataSet();objCommand.Fill(ds);

PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ds.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 5;
int CurPage;
if (Request.QueryString["Page"] != null)
CurPage=Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage=1;

objPds.CurrentPageIndex = CurPage-1;
lblCurrentPage.Text = "当前页:" CurPage.ToString();

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

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

Repeater1.DataSource=objPds;
Repeater1.DataBind();
}
</script>
<html>
<head>
<title>Repeater控件分页的例子</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
P,TD,DIV,SPAN {font-size:9pt}
</style>
</head>
<body>
<form name="form1" method="POST" runat="server">
<div style="padding:5px;background-color:#dedede">
<asp:label ID="lblCurrentPage" runat="server"></asp:label></td>
<td> <asp:HyperLink id="lnkPrev" runat="server">上一页</asp:HyperLink>
<asp:HyperLink id="lnkNext" runat="server">下一页</asp:HyperLink>
</div>
<hr size="1" color="#000099"/>
<asp:Repeater ID="Repeater1" runat="server">
<Itemtemplate>
<div style="padding:5px;background-color:#dedede">
<%# DataBinder.Eval(Container.DataItem, "Title") %>
</div>
</Itemtemplate>
</asp:Repeater>
</form>
</body>
</html>

分享:ASP.NET立即上手教程(13)
利用商务对象来工作 在商务组件中封装逻辑是实际应用程序,比如基于web的应用以及其他应用中,必不可少的部分。在ASP.NET中,商务对象是多层WEB应用程序内建的块。 应用程序的 /Bin目录

来源:模板无忧//所属分类:.Net教程/更新时间:2008-08-22
相关.Net教程