ホームページ >バックエンド開発 >C#.Net チュートリアル >リピーターは、asp.net で AspNetPager ページング コントロールを使用します

リピーターは、asp.net で AspNetPager ページング コントロールを使用します

高洛峰
高洛峰オリジナル
2017-01-10 14:11:461609ブラウズ

1. AspNetPager ページング コントロール
ページングは​​ Web アプリケーションで最もよく使用される機能の 1 つですが、ページング コントロールとして使用できる DataGrid (asp.net 1.1) と GridView (asp.net 2.0) が付属しています。 、しかし、カスタマイズ性が低い、URL を介してページング機能を実装できないなど、そのページング機能は満足のいくものではありません。場合によっては、DataList、Repeater、さらにはカスタム データ バインディング コントロールをページ分割する必要がある場合もあります。ページング コードを手動で記述するのは、技術的な作業だけではありません。ページングは​​難しくて退屈で、コードの再利用率が非常に低いため、多くの ASP.NET プログラマにとってページングは​​最も厄介な問題の 1 つとなっています。
AspNetPager は、ASP.NET ページング コントロールの欠点を目指しており、ASP.NET のページング問題に対する独自の解決策を提案します。つまり、ページング ナビゲーション機能とデータ表示機能が完全に独立しており、ユーザーが取得と表示を制御します。のデータなので、GridView、DataList、Repeater などのデータ バインド コントロールのページングの実装、カスタム ページング データの表示、画像閲覧プログラムの作成など、ページング ナビゲーション機能を実装する必要がある場合はどこでも柔軟に使用できます。 AspNetPager コントロールとデータは独立しているため、ページングされるデータは、SQL Server、Oracle、Access、mysql、DB2、その他のデータベース、XML ファイル、メモリ内データなどの任意のデータ ソースから取得できます。キャッシュやファイル システムなどのデータ
2. 基本属性:
AlwaysShow:
デフォルトでは、ページングされるデータが 1 ページのみの場合、この属性値が true に設定されている場合、AspNetPager はページに表示されるコンテンツを表示せずに、危険な期間を自動的に表示します。常に 1 ページのみである場合でも、AspNetPager はページネーション ナビゲーション要素も表示します。
FirstPageText:
最初のページボタンに表示されるテキストを取得または設定します。
LastPageText:
最後のページボタンに表示されるテキストを取得または設定します。
NextPageText:
「次のページ」ボタンに表示されるテキストを取得または設定します。
PrevPageText:
「前ページ」ボタンに表示されるテキストを取得または設定します。
PageSize:
各ページに表示されるアイテムの数を取得または設定します。 (この値は、データ レンダリング コントロールが毎回表示する必要があるデータ テーブル内のデータ項目の数を取得または設定します。AspNetPager は、この値と RecordCount の値に基づいて、すべてのデータを表示するのに必要な合計ページ数を計算します。 PageCount。)
CssClass:
コントロールに適用される CSS クラス名
CurrentPageButtonClass:
AspNetPager ページング コントロールの現在のページ ナビゲーション ボタンのカスケード スタイル シート (CSS) クラスを取得または設定します。
PageIndexBoxType:
または、ページ インデックス ボックスの表示タイプを設定します。これは、ユーザーが手動で入力できるテキスト ボックスと選択のみ可能なドロップダウン ボックスにすることができます。
ShowBoxThreshold:
ShowPageIndexBox が Auto (デフォルト) に設定されており、ページングされるデータの総ページ数がこの値に達すると、ページ インデックス入力テキスト ボックスが自動的に表示されます。デフォルト値は 30 です。 ShowPageIndexBox が Never または Always に設定されている場合、このオプションは効果がありません。
3. スタイル:
====== NetEase スタイル=====
.anpager .cpb {background:#1F3A87 none 繰り返しスクロール 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 リピートスクロール 0 0;border:1pxソリッド #CCCCCC;color:#1F3A87;margin:5px 4px 0 0 ;padding:4px 5px 0;text-decoration:none}
.anpager a:hover{background:#1F3A87 none リピートスクロール 0 0;border:1px Solid #1F3A87;color:#FFFFFF;}
属性設定: CssClass=" anpager" CurrentPageButtonClass="cpb"
====== Paipai.com Style=====
.paginator { font: 11px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;}
.paginator a {パディング: 1px 6px; ボーダー: ソリッド 1px #ddd; 背景: #fff; テキスト装飾: なし; マージン右: 2px}
.paginator a:visited {パディング: 1px 6px; ボーダー: ソリッド 1px # ddd; 背景: #fff; テキスト装飾: なし;}
.paginator .cpb {パディング: 1px 6px;フォントの太さ: 太字: なし}
.paginator a:hover {color : #fff; 背景: #ffa501;border-color:#ffa501;text-decoration: none;}
プロパティ設定: CssClass="paginator" CurrentPageButtonClass="cpb"
===== Thunder style=====
.pages { color: #999; }
.pages a, .pages .cpb { text-decoration:none;float:left; border:1px double #ddd;background:#ffff;margin:0 2px; フォントサイズ:11px; カラー:#000;}
.pages a:hover { 背景色:#fff;border:1px; テキスト装飾:なし;} . cpb { font-weight: 太字; カラー: #fff; 背景: #E61636; border:1px ソリッド #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 での Replyer での AspNetPager ページング コントロールの使用に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。