淺談Asp.Net母版頁(yè)和內(nèi)容頁(yè)運(yùn)行機(jī)制
從上面的講解中可以看出,單獨(dú)的母版頁(yè)是不能被用戶所訪問(wèn)的。沒(méi)有內(nèi)容頁(yè)支持,母版頁(yè)僅僅是一個(gè)頁(yè)面模板,沒(méi)有更多的實(shí)用價(jià)值。同樣道理,單獨(dú)的內(nèi)容頁(yè)沒(méi)有母版頁(yè)的支持,也不能夠應(yīng)用。這兩者是不可分割的,只有同時(shí)正確創(chuàng)建和使用母版頁(yè)及內(nèi)容頁(yè),才能發(fā)揮它們的強(qiáng)大功能。為了便于讀者理解,有必要講解一下母版頁(yè)與內(nèi)容頁(yè)的運(yùn)行機(jī)制。
母版頁(yè)和內(nèi)容頁(yè)的運(yùn)行過(guò)程可以概括為以下5個(gè)步驟。
用戶通過(guò)輸入內(nèi)容頁(yè)的URL來(lái)請(qǐng)求某內(nèi)容頁(yè)。
獲取內(nèi)容頁(yè)位置后,讀取內(nèi)容頁(yè)@ Page指令。如果該指令引用一個(gè)母版頁(yè),則讀取該母版頁(yè)。
讀取母版頁(yè)后,編譯母版頁(yè),將母版頁(yè)載入內(nèi)容頁(yè)的控件樹中。
將各個(gè)Content控件的內(nèi)容合并到母版頁(yè)中相應(yīng)的ContentPlaceHolder控件中。
呈現(xiàn)得到結(jié)果頁(yè)。
這一過(guò)程可由圖7-9來(lái)表示。
圖7-9 母版頁(yè)和內(nèi)容頁(yè)運(yùn)行機(jī)制
對(duì)訪問(wèn)者來(lái)說(shuō),他訪問(wèn)的URL路徑就是內(nèi)容頁(yè),但呈現(xiàn)的結(jié)果是母版頁(yè)和內(nèi)容頁(yè)合并而成的一個(gè)完整頁(yè)面。對(duì)開發(fā)者來(lái)說(shuō),只要做一個(gè)母版頁(yè),就可以讓任意個(gè)內(nèi)容頁(yè)加載該母版頁(yè),而實(shí)現(xiàn)這一技術(shù)的關(guān)鍵是讓母版頁(yè)的ContentPlaceHolder控件與內(nèi)容頁(yè)的Content控件一一對(duì)應(yīng)。
母版頁(yè)與ASP.NET 1.1下用戶控件的作用方式大致相同,即作為內(nèi)容頁(yè)的一個(gè)子級(jí),并作為該頁(yè)中的一個(gè)容器。
總結(jié)起來(lái),母版頁(yè)具有以下4個(gè)優(yōu)點(diǎn)。
有利于站點(diǎn)的修改和維護(hù),降低開發(fā)人員的工作強(qiáng)度。
由于公共內(nèi)容被集中于母版頁(yè)中,因此,只要修改母版頁(yè),就可以快速完成站點(diǎn)修改和維護(hù)工作,這在很大程度上提高了工作效率。
提供高效的內(nèi)容整合能力。
在母版頁(yè)中,允許添加文字、控件等Web元素,同時(shí)也可以為這些Web元素添加相應(yīng)事件處理程序等。例如,只需要在母版頁(yè)中添加一個(gè)服務(wù)器控件及其事件處理程序,站點(diǎn)內(nèi)所有引用該母版頁(yè)的網(wǎng)頁(yè),都將獲得同樣的應(yīng)用效果。
有利于實(shí)現(xiàn)頁(yè)面布局。
母版頁(yè)中的ContentPlaceHolder控件起到了占位的作用,這在很大程度上有利于進(jìn)行頁(yè)面布局的工作。
提供一種便于利用的對(duì)象模型。
由內(nèi)容頁(yè)和母版頁(yè)組成的對(duì)象模型能夠?yàn)閼?yīng)用程序提供一種高效、易用的實(shí)現(xiàn)方式,并且這種對(duì)象模型的執(zhí)行效率較以前的處理方式有了很大提高。
以上所述是小編給大家介紹的Asp.Net母版頁(yè)和內(nèi)容頁(yè)運(yùn)行機(jī)制,希望對(duì)大家有所幫助,也希望大家多多支持腳本之家。
- 詳解Asp.Net母版頁(yè)元素ID不一致的體現(xiàn)
- Asp.Net套用母版頁(yè)后元素ID不一致(個(gè)人總結(jié))
- 淺談Asp.Net母版頁(yè)的相關(guān)知識(shí)
- 在ASP.NET 2.0中操作數(shù)據(jù)之三:創(chuàng)建母版頁(yè)和站點(diǎn)導(dǎo)航
- asp.net母版頁(yè)如何使用
- ASP.NET母版頁(yè)基礎(chǔ)知識(shí)介紹
- ASP.NET中母版頁(yè)和shtml實(shí)例入門
- ASP.Net巧用窗體母版頁(yè)實(shí)例
- asp.net使用母版頁(yè)中使用ajax腳本取數(shù)據(jù)
- ASP.NET下母版頁(yè)和內(nèi)容頁(yè)中的事件發(fā)生順序整理
- ASP.NET 2.0 中的創(chuàng)建母版頁(yè)
- ASP.NET MVC使用母版頁(yè)視圖
相關(guān)文章
用Html5與Asp.net MVC上傳多個(gè)文件的實(shí)現(xiàn)代碼
Html 5 的有一些File API,對(duì)Form表單增強(qiáng)的特性,讓我們輕松支持多文件上傳,看下面的Html片斷代碼2012-08-08C#反射實(shí)例學(xué)習(xí)及注意內(nèi)容
C#反射的入門學(xué)習(xí)首先要明白C#反射提供了封裝程序集、模塊和類型的對(duì)象等等需要的朋友可以參考下2012-12-12asp.net+js實(shí)現(xiàn)的ajax sugguest搜索提示效果
阿會(huì)楠根據(jù)網(wǎng)上一份原作者不詳?shù)拇a進(jìn)行了修改,以適合自己的項(xiàng)目并增加了多個(gè)功能。此次放出的代碼為基本實(shí)現(xiàn)代碼,也是最接近原來(lái)的代碼,略去其他功能。版權(quán)歸原作者所有。2009-04-04Asp.Net2.0權(quán)限樹中Checkbox的操作
Asp.Net2.0權(quán)限樹中Checkbox的操作...2006-09-09asp.net下實(shí)現(xiàn)URL重寫技術(shù)的代碼
asp.net下實(shí)現(xiàn)URL重寫技術(shù)的代碼...2007-10-10asp.net中利用ashx實(shí)現(xiàn)圖片防盜鏈代碼
直接分析盜鏈原理:看下面用httpwatch截獲的http發(fā)送的數(shù)據(jù)2008-11-11asp.net中GridView數(shù)據(jù)鼠標(biāo)移入顯示提示信息
本篇文章給大家介紹在asp.net中g(shù)ridview數(shù)據(jù)鼠標(biāo)移入顯示提示信息,需要的朋友可以參考下本文2015-09-09