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

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