您的位置:首页 > 编程语言 > ASP

ASP.NET2.0Repeater控件分页例子

2008-02-20 10:09 435 查看
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("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" +


Server.MapPath("../aspxWeb.mdb"));


OleDbDataAdapter objCommand=new OleDbDataAdapter("select * from 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 + "?Page=" + Convert.ToString(CurPage-1);




if (!objPds.IsLastPage)


lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?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>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: