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
賺錢方法
捕魚
主站蜘蛛池模板: 亚洲中文制服丝袜欧美精品| 国产精品对白刺激| 熟女成人国产精品视频| 丰满的熟女一区二区三区l| 日韩精品无码免费专网站| 在线观看亚洲成人| 香蕉视频在线精品| 美女无遮挡拍拍拍免费视频| 亚洲香蕉久久| 亚洲欧美综合另类图片小说区| 久久久亚洲色| 91伊人国产| 国产欧美日韩另类精彩视频| 国产va免费精品观看| 最新无码专区超级碰碰碰| 无码免费的亚洲视频| 国产精品自拍合集| 久久先锋资源| 青青热久麻豆精品视频在线观看| 草草线在成年免费视频2| 成人小视频网| 伊人久久综在合线亚洲91| 国内黄色精品| 国产美女自慰在线观看| 亚洲乱伦视频| 日韩精品成人在线| 国产一二三区在线| 亚洲资源站av无码网址| 91人妻在线视频| 高清免费毛片| 亚洲精品黄| 精品三级网站| 亚洲欧洲日本在线| 国产毛片基地| 欧美v在线| 一区二区三区国产| 中文字幕天无码久久精品视频免费 | 日韩一级毛一欧美一国产| 伊人久久福利中文字幕| 日本一区二区不卡视频| 免费视频在线2021入口| 99成人在线观看| 尤物成AV人片在线观看| 国产91精选在线观看| 尤物成AV人片在线观看| 91福利一区二区三区| 国产精品爽爽va在线无码观看| 久久这里只有精品免费| 成年av福利永久免费观看| 又猛又黄又爽无遮挡的视频网站| 中文无码伦av中文字幕| 成人在线综合| 五月丁香在线视频| 国产男女XX00免费观看| 国产最新无码专区在线| 九色在线观看视频| jizz国产在线| 97av视频在线观看| 国产欧美日韩va另类在线播放| 精品成人免费自拍视频| 福利国产微拍广场一区视频在线| 国产一在线观看| 熟妇无码人妻| 亚洲精品动漫| 亚洲日韩国产精品综合在线观看| a级毛片免费网站| 91久久精品日日躁夜夜躁欧美| 久久夜色精品| 精品一区二区三区四区五区| 777午夜精品电影免费看| 日韩人妻无码制服丝袜视频| 亚洲AV无码乱码在线观看代蜜桃| 5555国产在线观看| 好紧太爽了视频免费无码| 亚洲美女一区二区三区| 免费一级毛片| 中文国产成人精品久久一| 影音先锋丝袜制服| 1769国产精品视频免费观看| 91网址在线播放| 黄色网址免费在线| 亚洲色图欧美激情|