天天看點

MOSS2007的母版頁

引用自:http://www.cnblogs.com/lizhimin/archive/2007/04/20/720796.html

MOSS2007中所有的頁面都是由母版頁(Master Pages)和内容頁(Content Pages)組成, MOSS 2007中的Master Page和在ASP.net中使用的Master Page是一樣的.它們定義了網站頁面的基本布局. Page layout的概念類似于ASP.net 2.0中的Content Page,它指向一個Master Page并且實作Content Placeholders 的内容.下面是一篇介紹ASP.NET 2.0中母版頁組成結構的很好的入門文章。

Master Your Site Design with Visual Inheritance and Page Templates

母版頁允許多級嵌套,所有在sharepoint中的站點預設都使用default.master這個母版頁。這個檔案位于

C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/GLOBAL這個目錄下。default.master母版頁是全局母版頁,任何對該頁面的修改将影響所有的sharepoint站點,而且會影響管理中心站點。

sharepoint的母版頁中定義了許多占位符(content placeholder)。這些占位符定義了頁面的不同區域,開發人員可以定制占位符最

顯示給使用者的内容。SharePoint中定義的占位符中多數并不允許使用者重寫其内容。多數的sharepoint頁面都包括了PlaceHolderMain這個占位符,它控制了頁面的主要内容部分,典型情況下,該占位符将包括多個web部件區域,用來拖webpart進去。但對于開發人員來說,可以用來放置想要放的任何東西。

下面列出了sharepoint的母版頁中定義的所有占位符:(詳細位置請對照default.master)

1、<asp:ContentPlaceHolder ID="PlaceHolderGlobalNavigationSiteMap" runat="server" />

放置連接配接到頂級站點的超連接配接

2、<asp:ContentPlaceHolder ID="PlaceHolderGlobalNavigation" runat="server" />

放置頂部一行内容。

3、<asp:ContentPlaceHolder ID="PlaceHolderSiteName" runat="server" />

放置站點名稱

4、<asp:ContentPlaceHolder ID="PlaceHolderSearchArea" runat="server" />

放置搜尋框

5、<asp:ContentPlaceHolder ID="PlaceHolderHorizontalNav" runat="server" />

放置水準導航欄

6、<asp:ContentPlaceHolder ID="PlaceHolderTopNavBar" runat="server" />

放置水準導航欄一行内容。

7、<asp:ContentPlaceHolder ID="WSSDesignConsole" runat="server" />

頁面編輯控件,當頁面進入編輯頁面模式時使用(當我們點 Site Actions, Edit Page後)

8、<asp:ContentPlaceHolder ID="SPNavigation" runat="server" />

在 Windows SharePoint Services中預設為空,用于附加的頁面編輯控件

9、<asp:ContentPlaceHolder ID="PlaceHolderPageImage" runat="server" />

左側的圖檔

10、<asp:ContentPlaceHolder ID="PlaceHolderTitleLeftBorder" runat="server" />

Title區左側邊框

11、<asp:ContentPlaceHolder ID="PlaceHolderTitleBreadcrumb" runat="server" />

TitleBreadcrumb頁面導航區

12、<asp:ContentPlaceHolder ID="PlaceHolderPageTitleInTitleArea" runat="server" />

Breadcrumb區下面的标題

13、<asp:ContentPlaceHolder ID="PlaceHolderMiniConsole" runat="server" />

一個放置頁面級指令的地方,比如在WIKI站點裡的Edit Page, History, Incoming Links

14、<asp:ContentPlaceHolder ID="PlaceHolderTitleRightMargin" runat="server" />

Title區右側空白

15、<asp:ContentPlaceHolder ID="PlaceHolderTitleAreaSeparator" runat="server" />

TitleAreaSeparator區

16、<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarDataSource" runat="server" />

左側導航區資料源

17、<asp:ContentPlaceHolder ID="PlaceHolderCalendarNavigator" runat="server" />

在頁面中有月曆時為其顯示一個日期選擇框

18、<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarTop" runat="server" />

左側導航區上面的導航區

19、<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBar" runat="server" />

左側導航區

20、<asp:ContentPlaceHolder ID="PlaceHolderLeftActions" runat="server" />

左側導航區下面的動作區

21、<asp:ContentPlaceHolder ID="PlaceHolderNavSpacer" runat="server" />

左側導航區的寬度

22、<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarBorder" runat="server" />

左側導航區的邊框元素

23、<asp:ContentPlaceHolder ID="PlaceHolderBodyLeftBorder" runat="server" />

頁面body的邊框元素

24、<asp:ContentPlaceHolder id="PlaceHolderPageDescription" runat="server" />

頁面描述區

25、<asp:ContentPlaceHolder id="PlaceHolderMain" runat="server" />

頁面主體

26、<asp:ContentPlaceHolder ID="PlaceHolderBodyRightMargin" runat="server" />

頁面body的右邊空白

27、<asp:ContentPlaceHolder ID="PlaceHolderFormDigest" runat="server"/>

這是頁面中必備的 "form digest"安全元件。

28、<asp:ContentPlaceHolder ID="PlaceHolderUtilityContent" runat="server" />

頁面底部需要的一塊特殊内容

29、<asp:ContentPlaceHolder ID="PlaceHolderBodyAreaClass" runat="server" />

附加在頁面頂部的body中的樣式

30、<asp:ContentPlaceHolder ID="PlaceHolderTitleAreaClass" runat="server" />

TitleArea附加的樣式

31、<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server" />

提供給内容頁添加所有可以放在區域的内容,如CSS、JS等。

繼續閱讀