一步步学习SPD2010--第十一章节--处理母版页(7)--管理Content Placeholders
正如我之前描述的,母版页在你的网站页面间,用来保持一致的外观。然而,母版页还有其他特殊的功能,如ContentPlaceholder控件。ContentPlaceholder控件时母版页的关键部分。这些控件定义了母版页的区域。当内容页与母版页结合时,内容页面上独特的内容就出现在那里。母版页必须包含Content Place holders。如果没有,如果不是所有的网页,那么网站上的一些网页可能不正常工作,会显示一些错误页面。
2010版本中,应用程序页面(URL中带有_layouts)和内容页面使用相同内容占位符。应用程序页面也包含新属性,DynamicMasterPageFile(在@Page命令中)。这两个改善意味着两类页面可以使用相同母版页。WSS3.0和2007版本就不是这样。简单地说,如果你修改了网站模板页,应用程序页面也会分享这些修改。
典型的母版页拥有很多内容占位符,最重要的是PlaceHolderMain。大部分独特内容都应该放在母版页的这个区域。它通常出现在页面中央。
你可能记得第四章节将母版页附加到OfficeFurniture.aspx,SPD打开匹配内容区域对话框,这样你可以将母版页内容占位符和OfficeFurniture.aspx内容匹配起来。这里定义匹配很简单,接受SPD建议,将OfficeFurniture.aspx上的<body>标签中数据和PlaceHolderMain控件映射在一起。SPD使用<asp:Content>标签代替OfficeFurniture.aspx中的<body>标签,属性contentplaceholderid为PlaceHolderMain。因此,从内容页插入内容到母版页,内容页必须有至少一个内容控件,和母版页内容占位符ID匹配。
小贴士:在SPD中,内容占位符也叫内容区域。如果你使用Dynamic Web Templates (DWT)在WSS3.0或SP Server 2007中为站点开发一致外观,你就对内容区域不陌生了。
当你从母版页创建新内容页时,所有内容占位符不能包含任何独特内容----他们都处于不可编辑状态。在SPD中,内容占位符上标签中文本将看起来像PlaceHolderNAME (Master),当你打开现有的内容页如Home.aspx时,你会看到占位符名中的Custom,如PlaceHolderNAME (Custom自定义) 。这表示独特内容可以放置在内容占位符定义的区域。你在第四章节就解除了这方面的内容占位符。所有那个页面上的内容占位符都标记着Master母版页)。你启用PlaceHolderMain内容区域为可编辑,结果,Custom自定义代替了Master母版页。然后你可以添加内容到你内容页面了。添加内容到母版页的内容占位符允许你指定和母版页相关的每个内容页上可见的内容。但是也允许你为每个特定内容页自定义内容。
在SPD中使用母版页时,你使用样式选项卡中的管理内容区域命令管理内容占位符。内容占位符不能从内容页管理。在内容页上点击此命令时,会弹出警告框,询问是否要保存内容页为母版页。
本练习中,你将之前创建的DVWP放在母版页的内容占位符中。然后,在内容页,覆盖内容占位符,并回复到母版页上的内容占位符。
准备:使用SPD打开站点,拆分视图高级编辑模式进入v4-test.master。
1. 选中之前创建的DVWP。
2. 样式选项卡,点击管理内容区域命令。
3. 输入名称PlaceHolderFooter,点击添加。
小贴士:添加新内容区域时,要保证有唯一名称。
现在你的DVWP已经在PlaceHolderFooter里面了。
4. 点击关闭,保存。如果有对话框弹出有未处理的更新,点击继续。
5. 在导航窗格,点击网站页面,点击Test-Page.aspx左侧图标,签出,点击编辑文件。
6. 进入高级编辑模式。
7. 点击DVWP的小三角。
8. 点击创建自定义内容。
此时内容占位符上标签文字由PlaceHolderMain(母版页)改为PlaceHolderMain(自定义)。
9. 点击一个页面名称,出现标签WebPartPages:DataFormWebPart。点击删除这个DVWP。
10. 点击快速启动栏的最近修改,这样出现标签PlaceHolderLeftActions (Custom)(自定义)。点击小箭头打开常用内容任务。
11. 点击默认为模板页内容。
12. 点击是确认。
13. 保存。出现网站定义页面警告时,点击是。
14. 如果微软SPD对话框询问是否要重新加载页面,因为服务器可能会删除不安全内容,点击否。
15. 在面包屑导航,点击Test-Page.aspx显示设置页面。签入,点击确定。
16. F12在浏览器中打开页面。
页面在浏览器中打开,伴随信息“页面已经从模板自定义”。快速启动栏最近修改区域没有出现,而且页面底部没有出现页脚页面的列表。
17. 在快速启动栏,点击网站页面。
最近修改区域和页脚页面列表出现在页面中。