站点内容 Web 部件(SharePoint 2010)






4.17/5 (4投票s)
以可展开和可折叠的分层树状结构显示站点和子站点内容

引言
用于 Microsoft SharePoint Foundation 2010 和 SharePoint Server 2010,此站点内容 Web 部件在一个可展开和折叠的层次树中显示站点和子站点的内容。这是从我的 WSS 3.0 版本 适配而来,适用于 SharePoint 2010。
描述
Web 部件使用 SPHierarchyDataSourceControl
呈现站点和子站点的内容。 SPHierarchyDataSourceControl
是一个数据绑定控件,实现了 IHierarchicalDataSource
接口,并派生自 HierarchicalDataSourceControl
。与导航提供程序 SPNavigationProvider
不同,它除了当前站点之外,还会呈现所有子站点中的内容。它与 SharePoint 用于在快速启动中呈现树视图的控件相同。并且与树视图不同的是,此 Web 部件呈现 HTML 列表标签而不是表格标签。
Web 部件有几个 public
属性
TopSiteUrl
- (顶级站点 URL) 用于起始子站点的服务器相对 URL。
例如:/ 表示根站点,或 /PressReleases/2010 表示子站点。 默认为当前站点。ExpandMap
- (展开地图?) 在页面加载时展开所有节点。 默认为true
ShowWebChildren
- (显示子站点?) 显示子站点。 默认为true
ShowFolderChildren
- (显示文件夹?) 显示库和列表中的文件夹。 默认为true
IncludeDiscussionFolders
- (显示讨论线程?) 显示讨论列表中的文件夹。 如果为true
,则ShowFolderChildren
也必须设置为true
才能生效。 默认为false
。MaxLevels
- (最大层级) 节点的最大层级数。 默认为 0,表示无限制ListCssClass
- 最外层<ul>
标签的 CSS 类名NodeCssClass
- 常规超链接节点的 CSS 类名
Web 部件使用两种方法来包含资源。JavaScript 文件被视为嵌入式资源,图像被视为类资源。要在代码中引用嵌入式资源,请使用 Page.ClientScript.GetWebResourceUrl
并以 [默认命名空间].[包含资源的文件夹].[资源文件名]
的形式传递文件。在 AssemblyInfo.cs 中,像这样包含文件
[assembly: System.Web.UI.WebResource
("QuestechSystems.SharePoint.ClientScripts.SiteContentWebPart.js", "text/javascript")]
类资源文件在代码中通过调用 SPWebPartManager.GetClassResourcePath
来引用。要将它们打包用于部署,请在 Visual Studio 2010 中创建一个 SharePoint 2010 空元素。文件被添加到新创建的文件夹下,部署类型 设置为 ClassResource。由于项目程序集部署到 GAC,部署路径将类似于 /_wpresources/QuestechSystems.SharePoint.SiteContentWebPart/1.0.0.0__9804e574157bbcb6/。
Web 部件还使用资源文件来存储所有消息和属性 UI 字符串。它演示了如何开发一个继承 WebDescriptionAttribute
、WebDisplayNameAttribute
或 CategoryAttribute
并从您自己的资源管理器返回本地化 string
的自定义类。
提供的 Visual Studio 2010 解决方案包括构建和部署此 Web 部件所需的所有支持文件,除了强名称密钥文件 (key.snk)。它充分利用了内置的 SharePoint 集成。构建 SharePoint 解决方案文件不再需要第三方工具或自定义的构建前和构建后脚本。
安装
打开 SharePoint 2010 Management Shell,使用 Add-SPSolution
添加解决方案文件 QuestechSiteContentWebPart.wsp,如下所示
Add-SPSolution
"C:\QuestechSystems.SiteContentWebPart\bin\Release\QuestechSiteContentWebPart.wsp"
或者使用 stsadm
,添加解决方案文件 QuestechSiteContentWebPart.wsp,如下所示
stsadm -o addsolution -filename
"C:\QuestechSystems.SiteContentWebPart\bin\Release\QuestechSiteContentWebPart.wsp"
转到 SharePoint 2010 Central Administration/System Settings/Manage farm solutions。将已安装的解决方案部署到选定的 Web 应用程序。在部署解决方案的网站集中,激活网站集功能 Questech Systems Site Content Web Part。之后,站点内容 Web 部件(列在 Questech Systems 下)应该可用于您添加到页面中。
CSS 可以添加到母版页或页面布局中以增强 Web 部件的样式。例如,如果 ListCssClass
设置为 scList
,则以下定义将使 Web 部件的样式看起来像上面的截图。
.scList, .scList ul
{
list-style: none;
padding: 0;
}
.scList, .scList li
{
margin: 0.66em 0;
}
.scList ul
{
margin: 0.66em 2em;
}
历史
- 2010 年 5 月 15 日:首次发布