搜ijsio 发表于 2015-9-28 07:34:29

Microsoft Office SharePoint Server 2007(简称MOSS2007)的母版页

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" />
提供给内容页添加所有可以放在<head>区域的内容,如CSS、JS等。
页: [1]
查看完整版本: Microsoft Office SharePoint Server 2007(简称MOSS2007)的母版页