一步步学习SPD2010--第十一章节--处理母版页(7)--管理Content Placeholders

本文主要是介绍一步步学习SPD2010--第十一章节--处理母版页(7)--管理Content Placeholders,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一步步学习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.  在快速启动栏,点击网站页面。

        最近修改区域和页脚页面列表出现在页面中。


这篇关于一步步学习SPD2010--第十一章节--处理母版页(7)--管理Content Placeholders的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083039

相关文章

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象