1. AspNetPager 페이징 컨트롤
페이징은 DataGrid(asp.net 1.1) 및 GridView(asp .net 2.0) 컨트롤과 함께 제공되지만 ASP.NET에서 가장 일반적으로 사용되는 기능 중 하나입니다. 하지만 사용자 정의 가능성이 낮고 Url을 통해 페이징 기능을 구현할 수 없는 등 페이징 기능이 만족스럽지 않으며 때로는 DataList, Repeater 또는 사용자 정의 데이터 바인딩 컨트롤에 페이지를 매기고 수동으로 작성해야 합니다. 페이징 코드는 뿐만 아니라 기술적으로 어렵고 번거롭지만 코드 재사용률도 매우 낮습니다. 따라서 페이징은 많은 ASP.NET 프로그래머에게 가장 골치 아픈 문제 중 하나가 되었습니다.
AspNetPager는 ASP.NET 페이징 제어의 단점에 대응하여 ASP.NET의 페이징 문제에 대한 고유한 솔루션을 제안합니다. 즉, 페이징 탐색 기능과 데이터 표시 기능이 완전히 독립적이며 사용자가 제어합니다. GridView, DataList, Repeater 등 데이터 바인딩된 컨트롤에 대한 페이징 구현, 사용자 지정 페이징 데이터 표시, 만들기 등 페이징 탐색 기능을 구현해야 하는 모든 위치에 표시 방법을 유연하게 적용할 수 있습니다. 이미지 검색 프로그램 등 AspNetPager 컨트롤은 데이터와 독립적이므로 페이징할 데이터는 SQL Server, Oracle, Access, mysql, DB2 및 기타 데이터베이스와 같은 모든 데이터 소스에서 올 수 있습니다. XML 파일, 메모리 데이터 또는 캐시의 데이터, 파일 시스템 등
2. 기본 속성:
AlwaysShow:
기본적으로 페이징할 데이터가 한 페이지인 경우 AspNetPager는 기본적으로 페이지에 눈에 띄는 콘텐츠를 표시하지 않고 자동으로 위험 기간을 표시합니다. 속성 값을 true로 설정하면 AspNetPager는 총 페이지 수가 하나인 경우에도 페이지 매김 탐색 요소를 표시합니다.
FirstPageText:
첫 번째 페이지 버튼에 표시되는 텍스트를 가져오거나 설정합니다.
LastPageText:
마지막 페이지 버튼에 표시되는 텍스트를 가져오거나 설정합니다.
NextPageText:
다음 페이지 버튼에 표시되는 텍스트를 가져오거나 설정합니다.
PrevPageText:
이전 페이지 버튼에 표시되는 텍스트를 가져오거나 설정합니다.
페이지 크기:
각 페이지에 표시되는 항목 수를 가져오거나 설정합니다. (이 값은 데이터 렌더링 컨트롤이 매번 표시해야 하는 데이터 테이블의 데이터 항목 수를 가져오거나 설정합니다. AspNetPager는 이 값과 RecordCount의 값을 기반으로 모든 데이터를 표시하는 데 필요한 총 페이지 수를 계산합니다. PageCount.)
CssClass:
컨트롤에 적용된 CSS 클래스 이름
CurrentPageButtonClass:
AspNetPager 페이징 컨트롤의 현재 페이지 탐색 버튼의 CSS(Cascading Style Sheet) 클래스를 가져오거나 설정합니다.
PageIndexBoxType:
또는 페이지 색인 상자의 표시 유형을 설정합니다. 이 상자는 사용자가 수동으로 입력할 수 있는 텍스트 상자이거나 선택만 가능한 드롭다운 상자일 수 있습니다.
ShowBoxThreshold:
ShowPageIndexBox가 자동(기본값)으로 설정되어 있고 페이징할 데이터의 총 페이지 수가 이 값에 도달하면 페이지 인덱스 입력 텍스트 상자가 자동으로 표시됩니다. 기본값은 30입니다. ShowPageIndexBox가 Never 또는 Always로 설정된 경우에는 이 옵션이 적용되지 않습니다.
3. 스타일:
====== NetEase 스타일=====
.anpager .cpb {배경:#1F3A87 없음 반복 스크롤 0 0;테두리:1px 단색 #CCCCCC;색상: #FFFFFF;font-weight:bold;margin:5px 4px 0 0;padding:4px 5px 0;}
.anpager a {배경:#FFFFFF 없음 반복 스크롤 0 0;border:1px solid #CCCCCC;color:# 1F3A87;여백:5px 4px 0 0;패딩:4px 5px 0;텍스트 장식:없음}
.anpager a:hover{배경:#1F3A87 없음 반복 스크롤 0 0;테두리:1px 단색 #1F3A87;색상:# FFFFFF;}
속성 설정: CssClass="anpager" CurrentPageButtonClass="cpb"
====== Paipai.com style======
.paginator { 글꼴: 11px Arial, Helvetica , sans -serif;padding:10px 20px 10px 0; 여백: 0px;}
.paginator a {padding: 1px 6px; border: solid 1px #ddd; background: none;margin-right :2px }
.paginator a:visited {패딩: 1px 6px; 테두리: 단색 1px #ddd; 배경: #fff; 텍스트 장식: 없음;}
.paginator .cpb {패딩: 1px 6px;글꼴 -가중치: 굵게; 글꼴 크기: 13px;border:none}
.paginator a:hover {color: #fff; 배경: #ffa501;border-color:#ffa501;text-장식: 없음;}
속성 설정: CssClass="paginator" CurrentPageButtonClass="cpb"
====== Thunder 스타일======
.pages { color: #999 }
.pages a, .pages .cpb { 텍스트 장식: 없음; 부동: 왼쪽; 패딩: 0 5px; 테두리: 1px 솔리드 #ddd;배경: #ffff;마진:0 2px; 색상:#000; 🎜>.pages a:hover { 배경색: #E61636; 색상:#fff;border:1px 솔리드 #E61636; 텍스트 장식: 없음;}
.pages .cpb { 글꼴 무게: 굵게; #fff; background: #E61636; border:1px solid #E61636;}
속성 설정: CssClass="pages" CurrentPageButtonClass="cpb"
호출 방법:
index.aspx 파일
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> <%@ Register src="hand.ascx" tagname="hand" tagprefix="uc1" %> <!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> <link href="inc/css.css" rel="stylesheet" type="text/css" /> <style type="text/css"> /*网易风格*/ .anpager .cpb {background:#1F3A87 none repeat scroll 0 0;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px 0 0;padding:4px 5px 0;} .anpager a {background:#FFFFFF none repeat scroll 0 0;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px 0 0;padding:4px 5px 0;text-decoration:none} .anpager a:hover{background:#1F3A87 none repeat scroll 0 0;border:1px solid #1F3A87;color:#FFFFFF;} /*拍拍网风格*/ .paginator { font: 11px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;} .paginator a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px} .paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;} .paginator .cpb {padding: 1px 6px;font-weight: bold; font-size: 13px;border:none} .paginator a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;} /*迅雷风格*/ .pages { color: #999 } .pages a, .pages .cpb { text-decoration:none;float: left; padding: 0 5px; border: 1px solid #ddd;background: #ffff;margin:0 2px; font-size:11px; color:#000;} .pages a:hover { background-color: #E61636; color:#fff;border:1px solid #E61636; text-decoration:none;} .pages .cpb { font-weight: bold; color: #fff; background: #E61636; border:1px solid #E61636;} .code{font-weight:bold;color:blue} </style> </head> <body> <form id="form1" runat="server"> <uc1:hand ID="hand1" runat="server" /> <div style="text-align:left; line-height:20px"> <asp:Repeater ID="SoftDown" runat="server"> <ItemTemplate> <div style="border-bottom:1px solid #000000"><%#Eval("E_id")%> <%#Eval("Class")%><br><%#Eval("DownTitle")%><br><%#Eval("PageHome")%></div> </ItemTemplate> </asp:Repeater> <div style="text-align:right; padding-top:10px"> <webdiyer:AspNetPager ID="AspNetPager1" runat="server" pagesize="5" CssClass="anpager" onpagechanged="AspNetPager1_PageChanged" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" ShowMoreButtons="False" ShowPageIndexBox="Never"> </webdiyer:AspNetPager></div> </div> </form> </body> </html>index.aspx.cs
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using GHSqlConn; using Wuqi.Webdiyer; public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SqlConnection conn = DB.getConnection(); conn.Open(); SqlCommand Count = new SqlCommand(); Count.Connection = conn; Count.CommandText = "select count(*) from T_SoftDown1"; AspNetPager1.RecordCount = (int)Count.ExecuteScalar(); //Response.Write(AspNetPager1.RecordCount); conn.Close(); BindData(); } } public void BindData() { SqlConnection conn = DB.getConnection(); string sql = "select * from T_SoftDown1 order by E_id desc";//这句在大型数据中应该用:select top查询语句 SqlDataAdapter da = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "temptbl"); DataTable dt = ds.Tables["temptbl"]; SoftDown.DataSource=dt; SoftDown.DataBind(); } protected void AspNetPager1_PageChanged(object src, EventArgs e) { //AspNetPager1.CurrentPageIndex = e.NewPageIndex; BindData(); } }asp.net에서 AspNetPager 페이징 제어를 사용하는 Repeater에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!