一步步学习SPD2010--第十一章节--处理母版页(3)--母版页上使用的控件
母版页很多功能是由部件提供的。这些部件在ASP.NET表单或SP Server控件中构成了应用程序逻辑和用户界面声明。
一些控件对于母版页是必需的。这些需求根据你是要为Foundation还是Server版本创建母版页不同而不同,它们也依据你想在站点实现的功能而变化。例如,当你创建或修改一个母版页时,下面的控件应该放在<head>标签之内:
<SharePoint:SPPageManager runat="server" /> <SharePoint:ScriptLink defer= "true" runat="server"/>同样地,下面ASP.NET server控件应该放在<form>标签内:
<asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="false" EnablePartialRendering="true" EnableScriptGlobalization="false" EnableScriptLocalization="true" />母版页上添加的控件可以分为四类:
- 链接、菜单、图标和导航部件控件,如SiteMapPath控件(填充global navigation breadcrumb)。
- 内容占位符,如PlaceHolderMain控件,与你想要输入信息的内容页区域匹配。
- 托管控件,定义页面上的区域,其内容可以被另外一个由功能激活驱动的控件代替。
- 脚本控件。他们管理页面的通信和协助功能区、工具栏和其他控件。
和你看到的SP页面中其他类型一样,SPD提供了母版页的完全设计支持。在设计视图,你可以以“所见即所得”的方式填充控件到母版页。另外,你可以修改显示的可选的页面的任何部分。然而,母版页包含了许多控件和标签,在设计视图中精确修改很有难度。这种情况下,代码视图就非常有用了。
注意:在浏览器中你看到的是母版页和内容页结合的效果。不能只看母版页。
SPD显示了你打开的每个站点的设计窗口,一次只允许你修改一个站点。所以不能从一个站点发布你的修改到另一个站点。因此,在SPD中,母版页总是在网站层次被修改。
本练习中,你定位默认母版页,探索其中使用的ASP.NET控件和SharePoint控件。
准备:使用SPD打开你的站点。
1. 点击母版页。通常会包含很多母版页。
2. 点击v4.master。
3. 签出,编辑文件。
4. 视觉帮助打开。
5. 在视图--视觉帮助,选中打钩ASP.NET 非可视控件。
6. 拆分视图查看。
7. 在代码视图中CTRL+F。
8. 输入<asp:,在当前页面查看,清空其他复选框。
9. 点击查找全部。
10. 再次CTRL+F,查找<SharePoint:,点击查找全部。
附加:创建母版页
根据你的需求,创建母版页可以很简单也可以很难。你需要决定是否需要只改变一个站点或者一批站点,因为这影响到使用什么工具。
如果你要为所有站点修改母版页,不能使用SPD,因为它只能在站点级别修改母版页,但对于典型的SP母版页,SPD是个完美的工具。
当你有个站点需要很多自定义时,花时间理解母版页部件并在代码或拆分视图中得心应手。你不必成为开发人员才能创建母版页,但是你需要开发人员的帮助,满足特定功能需求。
在母版页中挪动部件很简单,你可能认为移除不会有伤害。然而,如果你的母版页没有必要的内容占位符,内容页将不能呈现,用户会看到错误信息。
在SPD中母版页选项卡中,你可以创建空白母版页,只包含一个内容占位符,这个模板页适合团队站点和系统页面。
在发布网站的母版页选项卡中,你可以使用来自内容类型,发布母版页命令创建自定义母版页。新模板页包括最小数量的内容占位符和发布框架必需的控件,但是页面不包含样式或布局。
你可以使用v4.master作为母版页基础,但是它是复杂的母版页,不是容易学的页面。我推荐你使用SharePoint Server中的启动母版页,如Night And Day母版页。