国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

ASP.NET中母版頁(yè)技術(shù)開發(fā)

2012-10-10 07:31:58吳金秀
關(guān)鍵詞:母版控件頁(yè)面

吳金秀

(黃岡職業(yè)技術(shù)學(xué)院,湖北 黃岡 438000)

0 引言

大多數(shù)Web站點(diǎn)都是所有頁(yè)面采用一種布局,使整個(gè)網(wǎng)站具有統(tǒng)一的風(fēng)格和外觀,實(shí)現(xiàn)良好的用戶體驗(yàn)。ASP.NET自2.0以后的版本中提供了母版頁(yè)技術(shù),可將站點(diǎn)的整體布局在母版中進(jìn)行規(guī)劃與實(shí)現(xiàn),將每個(gè)頁(yè)面的公共部分,如網(wǎng)站的logo、banner、版權(quán)聲明等內(nèi)容設(shè)計(jì)到母版頁(yè)中,再基于母版頁(yè)創(chuàng)建不同的內(nèi)容頁(yè),以實(shí)現(xiàn)Web站點(diǎn)的一致布局與風(fēng)格。

1 母版頁(yè)技術(shù)

1.1 頁(yè)面的組成

運(yùn)用母版頁(yè)技術(shù)的頁(yè)面由兩個(gè)部分組成:母版頁(yè)和內(nèi)容頁(yè)。

母版頁(yè)的文件后綴名為.master,它主要是對(duì)整個(gè)站點(diǎn)的整體布局進(jìn)行規(guī)劃與設(shè)計(jì),包含整個(gè)站點(diǎn)的公共部分。內(nèi)容頁(yè)的文件類型為.a(chǎn)spx,它設(shè)計(jì)頁(yè)面的不同內(nèi)容。當(dāng)用戶請(qǐng)求內(nèi)容頁(yè)時(shí),這些內(nèi)容頁(yè)與母版頁(yè)合并后將母版頁(yè)的布局與內(nèi)容頁(yè)的內(nèi)容組合在一起輸出。

1.2 母版頁(yè)技術(shù)的優(yōu)勢(shì)

母版頁(yè)技術(shù)能很好地實(shí)現(xiàn)界面設(shè)計(jì)的模塊化,降低開發(fā)人員的工作強(qiáng)度,其優(yōu)勢(shì)主要包括:

(1)實(shí)現(xiàn)了代碼的重用,即同一個(gè)母版頁(yè)可用于同一站點(diǎn)的不同頁(yè)面;

(2)有利于實(shí)現(xiàn)頁(yè)面布局,提供一種便于利用的對(duì)象模型;

(3)有利于站點(diǎn)修改和維護(hù),如果母版頁(yè)更新了,所有的網(wǎng)頁(yè)都會(huì)隨之更新。

2 母版頁(yè)的工作原理

母版頁(yè)的設(shè)計(jì)與普通頁(yè)面的設(shè)計(jì)一樣。它的“源”文件中除包含一個(gè)完整頁(yè)面文件的基本元素之外,還包含一個(gè)或幾個(gè)ContentPlaceHolder控件,Content PlaceHolder控件是為內(nèi)容頁(yè)預(yù)留的,這樣母版頁(yè)的設(shè)計(jì)就是對(duì)整個(gè)站點(diǎn)的統(tǒng)一規(guī)劃與設(shè)計(jì)。它相當(dāng)于頁(yè)面的模板,方便用戶的規(guī)劃與設(shè)計(jì),但不能獨(dú)立運(yùn)行。

圖1 母版頁(yè)的工作原理

內(nèi)容頁(yè)的設(shè)計(jì)在可視化的界面中,母版頁(yè)以水印淡化的形式顯示出來(lái),在內(nèi)容頁(yè)中母版頁(yè)的內(nèi)容是不可編輯的。內(nèi)容頁(yè)的設(shè)計(jì)在Content控件中進(jìn)行,Contnet控件就是與之相對(duì)應(yīng)的母版頁(yè)的Content Place Holder控件。如圖1所示,母版頁(yè)文件 A.master中有兩個(gè)占位符,id分別是“Main”和“Footer”,內(nèi)容A.a(chǎn)spx文件中有兩個(gè)Content控件,Content Place Holder Id 分別為“Main”和“Footer”,分別替換母版頁(yè)中id為“Main”和“Footer”的占位符。當(dāng)客戶端瀏覽器向服務(wù)器發(fā)出請(qǐng)求,ASP.NET引擎將同時(shí)執(zhí)行內(nèi)容頁(yè)和母版頁(yè)的代碼,并將最終結(jié)果發(fā)送到客戶端瀏覽器。

3 母版頁(yè)與內(nèi)容頁(yè)的交互

3.1 在內(nèi)容頁(yè)面中訪問(wèn)母版頁(yè)中的控件

(1)通過(guò)內(nèi)容頁(yè)P(yáng)age對(duì)象有一個(gè)公共屬性Master。

內(nèi)容頁(yè)P(yáng)age對(duì)象的屬性Master能夠?qū)崿F(xiàn)對(duì)相關(guān)母版頁(yè)基類Master Page的引用,由此可以用Master Page實(shí)現(xiàn)對(duì)母版頁(yè)各個(gè)子對(duì)象的訪問(wèn),Master Page的Find Control方法找到母版頁(yè)中的控件的引用,并返回相應(yīng)Object類型的對(duì)象。例如,母版頁(yè)有個(gè)Label1控件,在內(nèi)容頁(yè)中將Label1中的內(nèi)容顯示在內(nèi)容頁(yè)的TextBox1控件中,方法為:

Text Box1.Text= ((Label)((Master Page)Master).Find Control("Label1")).Text;

(2)通過(guò)Master Type指令創(chuàng)建與內(nèi)容頁(yè)相關(guān)的母版頁(yè)的強(qiáng)類型引用。

在使用該指令時(shí),通過(guò)設(shè)置Virtual Paht屬性指定一個(gè)與內(nèi)容頁(yè)相關(guān)的母版頁(yè)的存儲(chǔ)地址。當(dāng)該內(nèi)容頁(yè)創(chuàng)建自己的Master屬性時(shí),屬性的值被設(shè)置為引用的母版頁(yè)的存儲(chǔ)地址。例如,在母版頁(yè)中加一個(gè)id為L(zhǎng)abel1的標(biāo)簽,并在后臺(tái)代碼中定義具有公共屬性的Label,方法為:

在內(nèi)容頁(yè)面中的“源”文件頭@page后添加Master Type指令<%@Master Type Virtual Path="~/Master Page1.master"%>,在內(nèi)容頁(yè)中可以通過(guò)Master對(duì)象的Master Label屬性來(lái)引用母版頁(yè)中的Label1控件。如設(shè)置母版頁(yè)中的Label1的文本為當(dāng)前時(shí)間,代碼為:

Master.Master Label.Text= System.Date Time.Now.To String();

3.2 在母版頁(yè)中訪問(wèn)內(nèi)容頁(yè)面的控件

在母版頁(yè)中可以通過(guò)在Content Place Holder控件中調(diào)用Find Control方法來(lái)取得控件,然后對(duì)控件進(jìn)行操作。如將母版頁(yè)中Label1中的文本賦值給內(nèi)容頁(yè)的Text Box1控件。

((Text Box)(this.Content Place Holder1.Find-Control("Text Box1"))).Text=Label1.Text;

4 總結(jié)

本文從母版頁(yè)運(yùn)行的原理以及母版與內(nèi)容頁(yè)面通信的角度,總結(jié)了母版頁(yè)技術(shù)的應(yīng)用方法,解決了母版頁(yè)使用繁瑣的問(wèn)題。以編程方式來(lái)動(dòng)態(tài)設(shè)置母版頁(yè),使得在Web站點(diǎn)設(shè)計(jì)中,為用戶提供一個(gè)統(tǒng)一的用戶界面與風(fēng)格樣式,并確保內(nèi)容頁(yè)和所設(shè)置的母版頁(yè)完全兼容。

[1]神龍工作室.新編ASP.NET 2.0網(wǎng)絡(luò)編程入門與提高[M].北京:人民郵電出版社,2008.

[2]達(dá)內(nèi)科技.a(chǎn)sp.net母版和內(nèi)容頁(yè)執(zhí)行順序[EB/OL].[2011-09-3].http://www.tarenasz.com/tech/net/722.html.

[3]MSDN.msdn技術(shù)資源庫(kù)·ASP.NET母版頁(yè)概述[EB/OL].[2012-03-23].http://msdn.microsoft.com/zh-cn/library/wtxbf3hh(v=vs.80).

猜你喜歡
母版控件頁(yè)面
刷新生活的頁(yè)面
利用PowerPoint制作多媒體課件
母版網(wǎng)角對(duì)潛像防偽效果的影響
關(guān)于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
ASP.NET中母版頁(yè)技術(shù)研究
基于母版頁(yè)在ASP.NET網(wǎng)站測(cè)試用例設(shè)計(jì)
就這樣玩會(huì)VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
同一Word文檔 縱橫頁(yè)面并存
淺析ASP.NET頁(yè)面導(dǎo)航技術(shù)
其實(shí)IE也懂Chrome的心
尤溪县| 沙雅县| 禄丰县| 特克斯县| 平谷区| 信宜市| 台州市| 射洪县| 苗栗市| 池州市| 横山县| 平邑县| 措美县| 汪清县| 中江县| 安宁市| 甘谷县| 澳门| 辛集市| 黑水县| 安西县| 来宾市| 颍上县| 海淀区| 文昌市| 南召县| 开鲁县| 仁怀市| 平江县| 郓城县| 青河县| 长垣县| 阿城市| 汕头市| 微博| 桦甸市| 五莲县| 南昌市| 浙江省| 双辽市| 盐山县|