Repeater的初步使用

本文介绍如何使用ASP.NET中的Repeater控件实现数据分页显示。通过设置SQL查询语句和连接字符串,结合PagedDataSource组件,可以轻松地完成数据的分页加载和展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASP.NET的三种控件DataGrid,DataList和Repeater .前两种控件使用的比较多,Repeater 用得比较少。但至少也要学会一些简单的使用.以下为调用数据前台显示和分页的代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <span style="color: #008080" mce_style="color: #008080"></span><span style="color: #000000" mce_style="color: #000000"><asp:Repeater ID="LeaveMessage" runat="server"> <HeaderTemplate ><table width="100%"><tr><td width="85%">主题</td> <td width="15%">创建时间</td></tr></HeaderTemplate> <ItemTemplate> <table align="center" bgcolor="#D4D0C8" border="0" cellpadding="1" cellspacing="1" width="100%"> <tr> <td bgcolor="#FFFAFF" width="85%"> <div align="left"> <%#DataBinder.Eval(Container.DataItem, "subject")%> </div> </td> <td align="left" bgcolor="#FFFAFF" width="15%"> <%#DataBinder.Eval(Container.DataItem, "Createtime")%> </td> </tr> </table> <hr size="3px" width="90%" /> </ItemTemplate> </asp:Repeater> 共<asp:Literal ID="RecordCount" runat="server"></asp:Literal>条记录共<asp:Literal ID="PageCount" runat="server"></asp:Literal>页当前第<asp:Literal ID="Pageindex" runat="server"></asp:Literal>页 <asp:HyperLink ID="FirstPage" runat="server" Text="首页"></asp:HyperLink> <asp:HyperLink ID="PrevPage" runat="server" Text="上一页"></asp:HyperLink> <asp:HyperLink ID="NextPage" runat="server" Text="下一页"></asp:HyperLink> <asp:HyperLink ID="LastPaeg" runat="server" Text="尾页"></asp:HyperLink> 跳转到<asp:Literal ID="Literal1" runat="server"></asp:Literal>页</span></div> </form> </body> </html>

后台代码:

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Text; public partial class Default3 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { NewsBind(); } } private void NewsBind()//repeater分页并绑定 { string SqlStr = "select subject,Createtime from OA_SubjectQuery order by Createtime"; string strCon_SHATDB = "MultipleActiveResultSets=True;Data Source=**;Initial Catalog=**;Persist Security Info=True;User ID=SA;Password=**";//连接到指定数据库 //string connectionString = "Data Source=**;Initial Catalog=**;User ID=SA;Password=**"; SqlConnection conn = new SqlConnection(strCon_SHATDB); conn.Open(); SqlDataAdapter Adapter = new SqlDataAdapter(SqlStr, conn); DataSet ds = new DataSet(); try { Adapter.Fill(ds, "testTable"); PagedDataSource objPage = new PagedDataSource(); objPage.DataSource=ds.Tables["testTable"].DefaultView; objPage.AllowPaging=true; objPage.PageSize=10; int CurPage; if (Request.QueryString["Page"] != null) { CurPage = Convert.ToInt32(Request.QueryString["page"]); } else { CurPage = 1; } objPage.CurrentPageIndex = CurPage - 1; LeaveMessage.DataSource=objPage;//这里更改控件名称 LeaveMessage.DataBind();//这里更改控件名称 RecordCount.Text = objPage.DataSourceCount.ToString(); PageCount.Text = objPage.PageCount.ToString(); Pageindex.Text = CurPage.ToString(); Literal1.Text = PageList(objPage.PageCount, CurPage); //Literal1.Text = PageList(objPage.PageCount, Pageindex, L_Manage); //带参数的:LManage为参数 FirstPage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1"; PrevPage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + (CurPage - 1); NextPage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + (CurPage + 1); LastPaeg.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + objPage.PageCount.ToString(); if (CurPage <= 1 && objPage.PageCount <= 1) { FirstPage.NavigateUrl = ""; PrevPage.NavigateUrl = ""; NextPage.NavigateUrl = ""; LastPaeg.NavigateUrl = ""; /**//**//**//* FirstPage.Visible = false; PrevPage.Visible = false; NextPage.Visible = false; LastPaeg.Visible = false; */ } if (CurPage <= 1 && objPage.PageCount > 1) { FirstPage.NavigateUrl = ""; PrevPage.NavigateUrl = ""; /**//**//**//* FirstPage.Visible = false; PrevPage.Visible = false; */ } if (CurPage >= objPage.PageCount) { NextPage.NavigateUrl = ""; LastPaeg.NavigateUrl = ""; /**//**//**//* NextPage.Visible = false; LastPaeg.Visible = false; */ } } catch(Exception error) { Response.Write(error.ToString()); } finally { conn.Close(); } } private string PageList(int Pagecount, int Pageindex)//private string Jump_List(int Pagecount , int Pageindex , long L_Manage)//带参数的传递 { StringBuilder sb = new StringBuilder(); //下为带参数的传递 //sb.Append("<select id=/"Page_Jump/" name=/"Page_Jump/" onchange=/"window.location='" + Request.CurrentExecutionFilePath + "?page='+ this.options[this.selectedIndex].value + '&Org_ID=" + L_Manage + "';/">"); //不带参数的传递 sb.Append("<select id=/"Page_Jump/" name=/"Page_Jump/" onchange=/"window.location='" + Request.CurrentExecutionFilePath + "?page='+ this.options[this.selectedIndex].value + '';/">"); for (int i = 1; i <= Pagecount; i++) { if (Pageindex == i) sb.Append("<option value='" + i + "' selected>" + i + "</option>"); else sb.Append("<option value='" + i + "'>" + i + "</option>"); } sb.Append("</select>"); return sb.ToString(); } }

显示效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值