您好,登錄后才能下訂單哦!
Asp.Net母版頁和內容頁運行機制
來自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=96
從上面的講解中可以看出,單獨的母版頁是不能被用戶所訪問的。沒有內容頁支持,母版頁僅僅是一個頁面模板,沒有更多的實用價值。同樣道理,單獨的內容頁沒有母版頁的支持,也不能夠應用。這兩者是不可分割的,只有同時正確創建和使用母版頁及內容頁,才能發揮它們的強大功能。為了便于讀者理解,有必要講解一下母版頁與內容頁的運行機制。
母版頁和內容頁的運行過程可以概括為以下5個步驟。
用戶通過輸入內容頁的URL來請求某內容頁。
獲取內容頁位置后,讀取內容頁@ Page指令。如果該指令引用一個母版頁,則讀取該母版頁。
讀取母版頁后,編譯母版頁,將母版頁載入內容頁的控件樹中。
將各個Content控件的內容合并到母版頁中相應的ContentPlaceHolder控件中。
呈現得到結果頁。
這一過程可由圖7-9來表示。
(點擊查看大圖)圖7-9 母版頁和內容頁運行機制
對訪問者來說,他訪問的URL路徑就是內容頁,但呈現的結果是母版頁和內容頁合并而成的一個完整頁面。對開發者來說,只要做一個母版頁,就可以讓任意個內容頁加載該母版頁,而實現這一技術的關鍵是讓母版頁的ContentPlaceHolder控件與內容頁的Content控件一一對應。
母版頁與ASP.NET 1.1下用戶控件的作用方式大致相同,即作為內容頁的一個子級,并作為該頁中的一個容器。
總結起來,母版頁具有以下4個優點。
有利于站點的修改和維護,降低開發人員的工作強度。
由于公共內容被集中于母版頁中,因此,只要修改母版頁,就可以快速完成站點修改和維護工作,這在很大程度上提高了工作效率。
提供高效的內容整合能力。
在母版頁中,允許添加文字、控件等Web元素,同時也可以為這些Web元素添加相應事件處理程序等。例如,只需要在母版頁中添加一個服務器控件及其事件處理程序,站點內所有引用該母版頁的網頁,都將獲得同樣的應用效果。
有利于實現頁面布局。
母版頁中的ContentPlaceHolder控件起到了占位的作用,這在很大程度上有利于進行頁面布局的工作。
提供一種便于利用的對象模型。
由內容頁和母版頁組成的對象模型能夠為應用程序提供一種高效、易用的實現方式,并且這種對象模型的執行效率較以前的處理方式有了很大提高。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。