999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種Web數(shù)據(jù)分頁(yè)顯示技術(shù)

2014-11-07 21:11:54楊毅
科技資訊 2014年7期
關(guān)鍵詞:方法

楊毅

摘 要:本文提出了一種控制Repeater控件中數(shù)據(jù)分頁(yè)顯示的新方法,可以自由控制分頁(yè)控件的內(nèi)容和格式。為了進(jìn)一步方便使用,把此方法封裝到自定義類中,只需要在Web頁(yè)面中定義一個(gè)Repeater和一個(gè)Div控件,然后給出四個(gè)簡(jiǎn)單的參數(shù)去調(diào)用本方法,就可以完美地實(shí)現(xiàn)分頁(yè)顯示數(shù)據(jù)。

關(guān)鍵詞:Repeater Div 分頁(yè) 類 方法

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)03(a)-0017-02

當(dāng)一個(gè)網(wǎng)頁(yè)顯示數(shù)據(jù)記錄太多時(shí),既不美觀也不方便,此時(shí)就需要對(duì)數(shù)據(jù)進(jìn)行分頁(yè)顯示。早期,程序員曾使用手工方式控制SQL查詢命令來實(shí)現(xiàn)分頁(yè)顯示大量的數(shù)據(jù)。后來,開始出現(xiàn)一些現(xiàn)成的分頁(yè)控件[1,5],但一般都是比較死板,程序員只能機(jī)械地調(diào)用,很難對(duì)其實(shí)現(xiàn)隨意增、刪和調(diào)整。針對(duì)以上情況,許多新的分頁(yè)技術(shù)[2~4]開始出現(xiàn),一些程序員開始發(fā)布自己的技術(shù)源代碼,在網(wǎng)絡(luò)上共享自己的創(chuàng)新,進(jìn)一步激發(fā)了這一技術(shù)的發(fā)展。

縱觀眾多的分頁(yè)技術(shù),即使引用別人的源代碼,都很難實(shí)現(xiàn)直接引用。本文提出一種新方法,程序員在前臺(tái)界面定義一個(gè)顯示數(shù)據(jù)的Repeater控件,在Repeater控件的尾部定義一個(gè)顯示分頁(yè)功能的Div層,然后把這兩個(gè)控件和查詢數(shù)據(jù)的SQL命令串作為參數(shù)傳遞給自定義類中的方法,從而實(shí)現(xiàn)分頁(yè)技術(shù)的模塊化。

1 技術(shù)準(zhǔn)備及思路

本應(yīng)用選用C#.net語言,使用VS.Net 2008中的Repeater控件和Div控件[5]。在項(xiàng)目中自定義一個(gè)類,在類中定義一個(gè)“page( )”方法,主要實(shí)現(xiàn)以下功能:

(1)連接數(shù)據(jù)庫(kù),查詢出所要顯示的數(shù)據(jù),并保存到一個(gè)DataSet中;(2)在div中動(dòng)態(tài)生成各種控制分頁(yè)的控件,如“上一頁(yè)、下一頁(yè)”等(程序員可以根據(jù)自己的需要來生成各種控件);(3)定義PagedDataSource控件,接收DataSet中的數(shù)據(jù),設(shè)置Paged DataSource控件分頁(yè)屬性;(4)使用div中的分頁(yè)控件來傳遞需要顯示的頁(yè)碼,并把頁(yè)碼傳遞給PagedDataSource;(5)把PagedDataSource綁定到Repeater,顯示分頁(yè)后的數(shù)據(jù)記錄。

當(dāng)需要分頁(yè)顯示數(shù)據(jù)時(shí),程序員只需要把Repeater和Div控件的ID傳遞給page( )方法即可。

2 編碼實(shí)施及結(jié)果

2.1 定義類和方法

本處省略了數(shù)據(jù)庫(kù)連接和打開操作的代碼,僅給出類和方法的核心部分。

public class Paging

{ public HtmlControl div11;

public void page(Repeater Repeater1, string sql, int pagesize, HtmlControl div)

{ div11 = div;

DataTable dt = ds.Tables[0]; //把查詢的數(shù)據(jù)填充到一個(gè)DataSet類的ds中

HyperLink firtp = new HyperLink(); firtp.Text = "首頁(yè)"; //動(dòng)態(tài)生成各分頁(yè)控件

HyperLink prep = new HyperLink(); prep.Text="上一頁(yè)";

HyperLink nextp=new HyperLink(); nextp.Text="下一頁(yè)";

HyperLink lastp= new HyperLink(); lastp.Text="尾頁(yè)";

TextBox TextBox1yy = new TextBox();TextBox1yy.ID="TextBox1yy";

TextBox1yy.Attributes.Add("runat", "server");

Button Button1yy=new Button(); Button1yy.Text="跳轉(zhuǎn)";//定義任意頁(yè)跳轉(zhuǎn)按鈕

Button1yy.Click+=new System.EventHandler(Button1yy_Click);

div11.Controls.Add(firtp); div11.Controls.Add(prep);

div11.Controls.Add(nextp); div11.Controls.Add(lastp);

div11.Controls.Add(TextBox1yy); div11.Controls.Add(Button1yy);

PagedDataSource pds=new PagedDataSource(); //生成一個(gè)PagedDataSource控件

pds.DataSource=dt.DefaultView;

pds.AllowPaging=true; pds.PageSize=pagesize;//指定每頁(yè)行數(shù)

int totalp=(dt.Rows.Count+pds.PageSize-1)/pds.PageSize;//得出總行數(shù)

Label1yy.Text="總頁(yè)數(shù)為:"+ Convert.ToString(totalp);

int curpage;//當(dāng)前頁(yè)

if(Request.QueryString["Page"] != null)

curpage=Convert.ToInt32(HttpContext.Current.Request.QueryString["Page"]);endprint

else curpage=1;

pds.CurrentPageIndex=curpage-1;

if (!pds.IsFirstPage)

prep.NavigateUrl=HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curpage - 1);

if (!pds.IsLastPage)

nextp.NavigateUrl=HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curpage + 1);

Repeater1.DataSource=pds;Repeater1.DataBind();//把pds綁定到Repeater1

if (curpage!=1)//控制首頁(yè)

firtp.NavigateUrl=HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=1";

if (curpage !=totalp)//控制尾頁(yè)

lastp.NavigateUrl=HttpContext.Current.Request.CurrentExecutionFilePath + "?Page="+Convert.ToString(totalp);

}

protected void Button1yy_Click(object sender,EventArgs e)//“跳轉(zhuǎn)”按鈕功能實(shí)現(xiàn)

{ TextBox ppp=(TextBox)this.div11.FindControl("TextBox1yy");

string p=ppp.Text.Trim(); HttpContext.Current.Response.Redirect(HttpContext.Current.Request.CurrentExecutionFilePath+"?Page="+p);

} }

程序員可以根據(jù)實(shí)際需要,在div中生成滿足自己要求的分頁(yè)控件,分別設(shè)置其屬性,以達(dá)到美化和協(xié)調(diào)的目的。

2.2 定義前臺(tái)和調(diào)用方法

在Web頁(yè)面前臺(tái)定義一個(gè)Repeater控件,同時(shí)完成表格頭的定義,把各列綁定到要顯示的數(shù)據(jù)字段上。在Repeater控件的尾部定義一個(gè)Div層,取名為“divpaging”。在相應(yīng)的后臺(tái)cs代碼中調(diào)用方法“new Paging().page(Repeater1,sql,5,divpaging)”。其中,“sql”是數(shù)據(jù)庫(kù)的SQL查詢命令串,“pagesize”為一頁(yè)顯示的數(shù)據(jù)記錄數(shù)目,“div”是顯示分頁(yè)控件的容器。

根據(jù)本算法,編寫代碼,測(cè)試結(jié)果如圖1所示。

當(dāng)多個(gè)網(wǎng)頁(yè)需要使用本技術(shù)時(shí),只需要在前臺(tái)快速地定義好Repeater和div控件,就可以直接調(diào)用本方法。從實(shí)驗(yàn)結(jié)果看,基本上實(shí)現(xiàn)了目前流行的分頁(yè)功能。

3 結(jié)論

經(jīng)過實(shí)驗(yàn)得知,此方法的優(yōu)點(diǎn)在于,程序員可以隨意定義和調(diào)整分頁(yè)功能模塊,只需要定義前臺(tái)界面的控件,復(fù)用本技術(shù)就可以實(shí)現(xiàn)多個(gè)網(wǎng)頁(yè)顯示風(fēng)格的統(tǒng)一,大大提升分頁(yè)顯示的效率。

參考文獻(xiàn)

[1] 李兵,劉淑芬.海量數(shù)據(jù)下的Web分頁(yè)呈現(xiàn)研究[J].吉林大學(xué)學(xué)院:信息科學(xué)版,2005,23(5):518-521.

[2] 鄭平.基于Web的分而技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2011,1(1):45-46.

[3] 高文鵬.Java Web分頁(yè)技術(shù)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2010,8(3):80-82.

[4] 董一華.基于ASP.NET緩存與分頁(yè)策略優(yōu)化Web數(shù)據(jù)查詢性能[J].計(jì)算機(jī)時(shí)代,2006,1(9):8-10.

[5] 金雪云,陳建偉,等.Visual C#2008程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2011:2-7.endprint

猜你喜歡
方法
中醫(yī)特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數(shù)學(xué)教學(xué)改革的方法
化學(xué)反應(yīng)多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學(xué)習(xí)方法
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡(jiǎn)單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 天堂av综合网| a级毛片一区二区免费视频| 色欲色欲久久综合网| 日本久久久久久免费网络| 国产精品国产三级国产专业不 | 国产日韩欧美黄色片免费观看| 国产综合无码一区二区色蜜蜜| 波多野结衣亚洲一区| 成人在线观看不卡| 欧美国产精品拍自| 亚洲三级a| 全免费a级毛片免费看不卡| 亚洲bt欧美bt精品| 午夜视频免费一区二区在线看| 亚洲综合天堂网| 国产91无毒不卡在线观看| 国产原创自拍不卡第一页| 国产精品成人久久| 狠狠色香婷婷久久亚洲精品| 在线观看网站国产| 114级毛片免费观看| 在线a视频免费观看| 久久99国产综合精品1| 欧美在线视频不卡| 国产真实乱了在线播放| 日本一区二区不卡视频| 久久天天躁狠狠躁夜夜2020一| 99久久无色码中文字幕| 免费无码网站| 波多野结衣爽到高潮漏水大喷| 亚洲无码91视频| 日韩一区二区三免费高清| 亚洲愉拍一区二区精品| 国产精品无码影视久久久久久久| 高清视频一区| 婷婷六月在线| 在线a网站| 9啪在线视频| 精品久久久无码专区中文字幕| 好吊妞欧美视频免费| 亚洲日韩欧美在线观看| 亚洲午夜天堂| 曰韩免费无码AV一区二区| 国产区在线看| 91成人在线免费视频| 国产在线91在线电影| 99激情网| 国产探花在线视频| 中文字幕 日韩 欧美| 精品国产美女福到在线不卡f| 影音先锋亚洲无码| 国产91熟女高潮一区二区| 高清精品美女在线播放| 狠狠色丁婷婷综合久久| 亚洲侵犯无码网址在线观看| 凹凸国产分类在线观看| 国产中文在线亚洲精品官网| 日韩AV无码免费一二三区 | 乱系列中文字幕在线视频 | 免费观看国产小粉嫩喷水| 手机在线免费不卡一区二| 国产性精品| 一区二区无码在线视频| 国产特级毛片| 欧美国产综合色视频| 精品国产美女福到在线直播| 日韩二区三区| 国产精品午夜电影| 伊人久久婷婷| 久久超级碰| 国产在线麻豆波多野结衣| 亚洲无线观看| 国产网站一区二区三区| 欧美一区二区啪啪| 亚洲黄色高清| 99久久国产综合精品女同| 久久精品人妻中文系列| 午夜三级在线| 97在线公开视频| 亚洲乱码在线视频| 中文字幕 日韩 欧美| 97影院午夜在线观看视频|