国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net Repeater分頁實例(PageDataSource的使用)_.Net教程

2024-07-10 12:52:17
字體:
來源:轉載
供稿:網友

推薦:ASP.NET MVC中解析淘寶網頁出現亂碼問題的解決方法
最近在使用MVC解析淘寶網頁出現亂碼問題,原因就是中文字符格式出現沖突,ASP.NET MVC 默認采用utf-8,但是淘寶網頁采用gbk。在網上找了一下,最常用的解決方法,特分享下

Asp.net提供了三個功能強大的列表控件:DataGrid、DataList和Repeater控件,但其中只有DataGrid控件提供分頁功能。相對DataGrid,DataList和Repeater控件具有更高的樣式自定義性,所以很多時候我們喜歡使用DataList或Repeater控件來顯示數據。

實現DataList或Repeater控件的分頁顯示有幾種方法:
1、寫一個方法或存儲過程,根據傳入的頁數返回需要顯示的數據表(DataTable)
2、使用PagedDataSource類(位于System.Web.UI.WebControls命名空間里)

本篇文章主要說怎么使用PagedDataSource類實現DataList和Repeater控件的分頁顯示。DataGrid控件內部也使用了PagedDataSource類,PagedDataSource 類封裝 DataGrid 控件的屬性,這些屬性使 DataGrid 可以執行分頁。

PagedDataSource 類的部分公共屬性:
AllowCustomPaging 獲取或設置指示是否啟用自定義分頁的值。
AllowPaging 獲取或設置指示是否啟用分頁的值。
Count 獲取要從數據源使用的項數。
CurrentPageIndex 獲取或設置當前頁的索引。
DataSource 獲取或設置數據源。
DataSourceCount 獲取數據源中的項數。
FirstIndexInPage 獲取頁中的第一個索引。
IsCustomPagingEnabled 獲取一個值,該值指示是否啟用自定義分頁。
IsFirstPage 獲取一個值,該值指示當前頁是否是首頁。
IsLastPage 獲取一個值,該值指示當前頁是否是最后一頁。
IsPagingEnabled 獲取一個值,該值指示是否啟用分頁。
IsReadOnly 獲取一個值,該值指示數據源是否是只讀的。
IsSynchronized 獲取一個值,該值指示是否同步對數據源的訪問(線程安全)。
PageCount 獲取顯示數據源中的所有項所需要的總頁數。
PageSize 獲取或設置要在單頁上顯示的項數。
VirtualCount 獲取或設置在使用自定義分頁時數據源中的實際項數。

這些屬性是否和DataGrid的屬性很相似?沒錯,DataGrid控件就是使用PagedDataSource類來實現數據分頁顯示的 。

下面舉個使用PagedDataSource類實現DataList和Repeater控件的分頁顯示的例子:
復制代碼 代碼如下:www.CuoXIn.com

public void Page_Load(Object src,EventArgs e)
{
OleDbConnection objConn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:/test.mdb");
OleDbDataAdapter objCommand=new OleDbDataAdapter("select * from Users",objConn);
DataSet ds=new DataSet();
objCommand.Fill(ds);

//對PagedDataSource 對象的相關屬性賦值
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ds.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 5;
int CurPage;

//當前頁面從Page查詢參數獲取
if (Request.QueryString["Page"] != null)
CurPage=Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage=1;

objPds.CurrentPageIndex = CurPage-1;
lblCurrentPage.Text = "Page: " + CurPage.ToString();

if (!objPds.IsFirstPage)
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+ onvert.ToString(CurPage-1);

if (!objPds.IsLastPage)
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(CurPage+1);

//把PagedDataSource 對象賦給Repeater控件
Repeater1.DataSource=objPds;
Repeater1.DataBind();
}

這樣可以簡單實現Repeater分頁功能,但有個缺點就是每次把所有的數據查詢出來,如果數據量大的話,這樣效率就會比較低。此時用存儲過程實現較好!

分享:.net中 關于反射的詳細介紹
本篇文章小編將為大家介紹,.net中 關于反射的詳細介紹 ,有需要的朋友可以參考一下

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辽阳市| 舒兰市| 双峰县| 临城县| 彝良县| 本溪| 广宗县| 丰顺县| 哈巴河县| 鹤山市| 房产| 揭阳市| 西盟| 潜江市| 河北省| 山东| 万荣县| 河北区| 柘城县| 丹东市| 诸城市| 普兰县| 正宁县| 大渡口区| 庄浪县| 玛沁县| 通城县| 河东区| 涞源县| 涞水县| 永靖县| 云和县| 武乡县| 馆陶县| 常宁市| 简阳市| 米易县| 辽宁省| 成安县| 灵川县| 丰镇市|