原文: http://blog.csdn.net/msonchina/archive/2008/02/03/2079200.aspx
MOSS 2007中的Master Page和在ASP.net中使用的Master Page是一樣的.它們定義了網站的LOOK and Feel以及標準的行為,使得定制非常容易. Page layout的概念類似于ASP.net 2.0中的Content Page,它指向一個Master Page并且實現Content Placeholders 的內容.默認的情況下,在MOSS 2007和WSS 3.0中使用的master page 是站點范圍的.也就是說當改變master page時,他影響的是一個站點內的所以頁面.Master pages 由兩個動態的tokens引用.
1. Two Dynamic Tokens
1.1 ~masterurl/default.master
這個token 用于一個站點的所有Forms和Views的外觀,通常這些頁面位于_layouts 目錄.這個master page在Sharepoint Designer中被稱為“Default master page”,在Site Settings\Look and Feel\Site Master Page Settings”中被稱為“System Master Page”,這個master page在page layout頁面中的使用方法如下:
language="C#" MasterPageFile="~masterurl/default.master",當sharepoint 加載頁面時,這個token “~masterurl/default.master”被SPWeb的MasterUrl屬性替換.為了給這個token指定一個master page,可以在瀏覽器中導航到Site Settings\ Look and Feel\Site Master Page Settings, 從“System master page”選擇一個master file,如圖所示:
1.2 ~masterurl/custom.master
這個token用于站點內的所有publishing 頁面.在Sharepoint Designer中被稱為“Custom master page”,在“Site Settings\Look and Feel\Site Master Page Settings”中被稱為“Site Master page”.當打開DefaultLayout.aspx頁面時,可以看到如下的代碼:
Page language="C#" MasterPageFile="~masterurl/custom.master"
在運行的時候,被SPWeb的CustomMasterUrl的屬性值代替.
可以在瀏覽器中改變給這個token指定的master page.方法是在Site Settings\ Look and Feel\Site Master Page Settings.的“Site Master Page”下拉列表中選擇.如下圖所示:
此外,這些master page tokens可以在Sharepoint Designer中通過在master page 上右擊選擇“Set as Default master page” or “Set as custom master page”設置.如圖所示:
2. Static Tokens
WSS 3.0站點有兩個靜態的tokens.如果自己的master page 在站點的Master page gallery 里,可以通過在頁面中加入MasterPageFile=“~site/xxx.master”來使用這個master page. 如果master page定義在根站點的master page gallery 中,可以在頁面中這樣引用這個master page MasterPageFile=“~sitecollection/xxx.master”
DefaultPageLayout.aspx and Page Layouts
DefaultLayout看起來好像是一個特殊的layout page,為網站所有的publishing 頁面定義了默認的layout.有意思的事情是當你檢查所有的page layout aspx文件的MasterPageFile屬性時,只有DefaultLayout.aspx包含著MasterPageFile 屬性,其值為“~masterurl/custom.maseter”. DefaultLayout.aspx繼承自Microsoft.SharePoint.WebPartPages.WebPartPage,但是其它包含你自己創建的page layouts的page layout頁面則繼承自Microsoft.SharePoint.Publishing.PublishingLayoutPage.
所以我猜想PublishingLayoutPage類和DefaultLayout.aspx有一些關系,至少DefaultLayout.aspx的master page將被所有繼承自PublishingLayoutPage的page layouts 所復用.所以如果想創建一個使用另一個而不是custom master page 的master page 的頁面,就需要把基類PublishingLayoutPage改為WebPartPage 并且設置MasterPageFile屬性.
?
本文來自CSDN博客,轉載請標明出處: http://blog.csdn.net/msonchina/archive/2008/02/03/2079200.aspx
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
