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
賺錢方法
捕魚
主站蜘蛛池模板: 欧美午夜小视频| 日韩视频免费| 91毛片网| 国产人人乐人人爱| 五月婷婷丁香综合| 99精品视频九九精品| 国产无码网站在线观看| 真实国产乱子伦视频| 成人日韩欧美| 国产精品福利社| 99视频在线免费看| 亚洲国产成人综合精品2020 | 激情综合图区| 农村乱人伦一区二区| 欧美精品在线观看视频| 欧美日韩综合网| 国产亚洲成AⅤ人片在线观看| 久久久久国产一区二区| 国产精品久久精品| 中文成人无码国产亚洲| 国产日本一线在线观看免费| 亚洲天堂视频网站| 国产无码性爱一区二区三区| 欧美天堂久久| 国产精品妖精视频| 在线不卡免费视频| 亚洲一级毛片在线播放| 69av在线| 国产精品久久久久久久久久久久| 国产精品手机在线播放| 亚洲国产成熟视频在线多多| 国产大片喷水在线在线视频| 黄色网页在线播放| 亚洲欧洲天堂色AV| 日韩AV手机在线观看蜜芽| 一本综合久久| 成人在线观看一区| 日韩欧美网址| 久久国产av麻豆| 国产精品人人做人人爽人人添| 丁香婷婷在线视频| 亚洲视频影院| 谁有在线观看日韩亚洲最新视频 | 91午夜福利在线观看| 国产粉嫩粉嫩的18在线播放91 | 国精品91人妻无码一区二区三区| 久久久久人妻一区精品色奶水| 香港一级毛片免费看| 黄片一区二区三区| 久久亚洲精少妇毛片午夜无码| 99热免费在线| 国产成人喷潮在线观看| 午夜福利视频一区| 亚洲一区二区三区国产精品| 亚洲天堂在线免费| a级毛片毛片免费观看久潮| 亚洲天堂视频在线播放| 亚洲精品国产成人7777| 久久男人资源站| 日本在线视频免费| 亚洲国产精品一区二区第一页免| 精品国产福利在线| 国产成人高清在线精品| 色综合天天视频在线观看| 国产小视频网站| 54pao国产成人免费视频| 欧美精品在线免费| 香蕉久久永久视频| 青青青国产精品国产精品美女| 亚洲精品中文字幕无乱码| 亚洲性影院| 无码 在线 在线| 亚洲AⅤ永久无码精品毛片| 69免费在线视频| 欧美精品v| 亚洲无码视频图片| 欧美亚洲国产一区| 久久午夜影院| 伊人大杳蕉中文无码| 亚洲专区一区二区在线观看| 日韩小视频在线观看| 欧美日韩午夜|