Home  >  Article  >  Backend Development  >  Repeater uses AspNetPager paging control under asp.net

Repeater uses AspNetPager paging control under asp.net

高洛峰
高洛峰Original
2017-01-10 14:11:461592browse

1. AspNetPager paging control
Paging is one of the most commonly used functions in Web applications. In ASP.NET, although it comes with a DataGrid (asp.net 1.1) and GridView (asp .net 2.0) control, but its paging function is not satisfactory, such as poor customizability, inability to implement paging function through Url, etc., and sometimes we need to paginate DataList, Repeater or even custom data binding controls, and write them manually Paging code is not only technically difficult and cumbersome, but also has a very low code reuse rate. Therefore, paging has become one of the most troublesome problems for many ASP.NET programmers.
AspNetPager proposes a unique solution to the paging problem in ASP.NET in response to the shortcomings of the ASP.NET paging control. That is, the paging navigation function and the data display function are completely independent, and the user controls the acquisition and processing of data. The display method can be flexibly applied to any place where paging navigation functions need to be implemented, such as implementing paging for data-bound controls such as GridView, DataList, and Repeater, presenting custom paging data, and making image browsing programs, etc., because the AspNetPager control It is independent of the data, so the data to be paged can come from any data source, such as SQL Server, Oracle, Access, mysql, DB2 and other databases, as well as XML files, memory data or data in cache, file systems, etc.
2. Basic attributes:
AlwaysShow:
By default, when the data to be paged is only one page, AspNetPager will automatically avoid displaying any visible content on the page by default. Set this attribute value to When true, AspNetPager will display pagination navigation elements even if the total number of pages is only one.
FirstPageText:
Get or set the text displayed for the first page button.
LastPageText:
Get or set the text displayed for the last page button.
NextPageText:
Get or set the text displayed for the next page button.
PrevPageText:
Get or set the text displayed for the previous page button.
PageSize:
Get or set the number of items displayed on each page. (This value gets or sets the number of data items in the data table that the data rendering control needs to display each time. AspNetPager calculates the total number of pages required to display all data based on this value and RecordCount, which is the value of PageCount.)
CssClass :
The css class name applied to the control
CurrentPageButtonClass:
Gets or sets the cascading style sheet (CSS) class of the current page navigation button of the AspNetPager paging control.
PageIndexBoxType:
Or or set the display type of the page index box, which can be a text box that allows users to enter manually and a drop-down box that can only be selected.
ShowBoxThreshold:
When ShowPageIndexBox is set to Auto (default) and the total number of pages of data to be paged reaches this value, the page index input text box will be automatically displayed. The default value is 30. This option has no effect when ShowPageIndexBox is set to Never or Always.
3. Style:
====== NetEase style=====
.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;}
Property settings: CssClass="anpager" CurrentPageButtonClass="cpb"
====== Paipai.com style=====
.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;}
Properties Settings: CssClass="paginator" CurrentPageButtonClass="cpb"
===== Thunder style=====
.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;}
Property settings: CssClass="pages" CurrentPageButtonClass="cpb"
4. How to call:
index.aspx file

<%@ 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(); 
} 
}

For more articles related to Repeater using AspNetPager paging control under asp.net, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn