关于MOSS 2007 and WSS 3.0 Master Page

本文详细介绍了Microsoft Office SharePoint Server (MOSS) 2007 中 MasterPage 的工作原理及其实现方式,包括动态令牌和静态令牌的使用方法,并探讨了 DefaultLayout.aspx 页面布局的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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属性.

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值