WSS3SDK之:通过对象模型添加链接
2009-01-17 18:15
387 查看
WSS使用标准的ASP.NET控件来导航。比如,System.Web.SiteMapNode类用于SharePoint页面顶部左侧的全局面包屑(global breadcrumbs)。Menu控件同时用在顶部导航链接和快速导航链接中,SharePoint中导航的层次是通过System.Web.SiteMapProvider类来组织。自定义导航控件,如Treeview,Menu,和SiteMapPath控件,可以绑定到该provider上。
我们可以使用Microsoft.SharePoint.Navigation命名空间下的类型和方法来定制站点的导航。通过WSS对象模型我们可以管理快速启动、顶部导航区域,改变链接顺序,添加新链接或删除链接。也可以管理网站同父网站间的继承关系。
Microsoft.SharePoint.SPWeb类的Navigation属性可以获取一个Microsoft.SharePoint.Navigation.SPNavigation对象。该对象包括了指定站点的所有导航属性,与父网站的导航继承关系,以及页面层次关系和导航结点的集合。SPNavigation对象的QuickLaunch属性返回快速导航区中找到的导航结点的集合,Web属性可以得到父网站集的顶级根站点,TopNavigationBar属性返回代表顶部导航栏所有导航结点的集合。一个SPNavigationNodeCollection对象代表了相当给定对象的一个有序的导航结点的集合,并提供了通过编程添加、删除结点的能力。
注意 通过SPNavigationNode对象可以包含任意的URL,对于此种类型的链接,可以执行链接修正(link fix-up)。可对于网站集中文档和页面的URL的包含,是支持链接修正的。
VB
Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim site As SPWeb = siteCollection.AllWebs("TestSite")
Dim subSite As SPWeb = site.Webs("SubTestSite")
Dim nodes As SPNavigationNodeCollection = subSite.Navigation.QuickLaunch
Dim navNode As New SPNavigationNode("New Link", "http://www.msn.com", True)
nodes.AddAsFirst(navNode)
C#
SPSite siteCollection = SPControl.GetContextSite(Context);
SPWeb site = siteCollection.AllWebs["TestSite"];
SPWeb subSite = site.Webs["SubTestSite"];
SPNavigationNodeCollection nodes = subSite.Navigation.QuickLaunch;
SPNavigationNode navNode = new SPNavigationNode("New Link", "http://www.msn.com", true);
nodes.AddAsFirst(navNode);
SPNavigationNode构造器的第三个参数设为true是因为新添加的链接URL是该SharePoint部署之外的。
由于该代码含有变更内容数据库的操作,所以在运行该代码的.aspx页面里,要有一个Microsoft.SharePoint.WebControls.FormDigest控件(可以放在一个WebPart里运行,Web部件页里自带该控件。也可以在一般的aspx页面中的Form标签中添加该控件,以便在页面中运行该代码)。同时,别忘了引用Microsoft.SharePoint和Microsoft.SharePoint.WebControls命名空间。
我们可以使用Microsoft.SharePoint.Navigation命名空间下的类型和方法来定制站点的导航。通过WSS对象模型我们可以管理快速启动、顶部导航区域,改变链接顺序,添加新链接或删除链接。也可以管理网站同父网站间的继承关系。
Microsoft.SharePoint.SPWeb类的Navigation属性可以获取一个Microsoft.SharePoint.Navigation.SPNavigation对象。该对象包括了指定站点的所有导航属性,与父网站的导航继承关系,以及页面层次关系和导航结点的集合。SPNavigation对象的QuickLaunch属性返回快速导航区中找到的导航结点的集合,Web属性可以得到父网站集的顶级根站点,TopNavigationBar属性返回代表顶部导航栏所有导航结点的集合。一个SPNavigationNodeCollection对象代表了相当给定对象的一个有序的导航结点的集合,并提供了通过编程添加、删除结点的能力。
注意 通过SPNavigationNode对象可以包含任意的URL,对于此种类型的链接,可以执行链接修正(link fix-up)。可对于网站集中文档和页面的URL的包含,是支持链接修正的。
示例
下面的例子将创建一个链接,并添加到快速启动的最上面。VB
Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim site As SPWeb = siteCollection.AllWebs("TestSite")
Dim subSite As SPWeb = site.Webs("SubTestSite")
Dim nodes As SPNavigationNodeCollection = subSite.Navigation.QuickLaunch
Dim navNode As New SPNavigationNode("New Link", "http://www.msn.com", True)
nodes.AddAsFirst(navNode)
C#
SPSite siteCollection = SPControl.GetContextSite(Context);
SPWeb site = siteCollection.AllWebs["TestSite"];
SPWeb subSite = site.Webs["SubTestSite"];
SPNavigationNodeCollection nodes = subSite.Navigation.QuickLaunch;
SPNavigationNode navNode = new SPNavigationNode("New Link", "http://www.msn.com", true);
nodes.AddAsFirst(navNode);
SPNavigationNode构造器的第三个参数设为true是因为新添加的链接URL是该SharePoint部署之外的。
由于该代码含有变更内容数据库的操作,所以在运行该代码的.aspx页面里,要有一个Microsoft.SharePoint.WebControls.FormDigest控件(可以放在一个WebPart里运行,Web部件页里自带该控件。也可以在一般的aspx页面中的Form标签中添加该控件,以便在页面中运行该代码)。同时,别忘了引用Microsoft.SharePoint和Microsoft.SharePoint.WebControls命名空间。
相关文章推荐
- WSS3SDK之:在自定义WebPart中使用对象模型
- WSS3SDK之:服务器和站点架构:对象模型概览
- WSS3SDK之:服务器和站点架构:对象模型概览
- SharePoint【ECMAScript对象模型系列】-- 12. 通过邮件发送带有Unique DocumentID的文档链接
- WSS3SDK之:WSS对象模型中的命名空间
- WSS3SDK之:Feature对象模型
- Sharepoint学习笔记—ECMAScript对象模型系列-- 12、通过邮件发送带有Unique DocumentID的文档链接
- Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
- SharePoint 服务器端对象模型操作用户组(创建/添加/删除)
- cad二次开发--添加对象到模型空间中
- JavaScript通过function定义对象并给对象添加toString()方法实例分析
- 如何在我自己的web 项目的jsp页面中添加链接,直接让别人通过内网在我的电脑上下载文件
- IOS类别通过关联对象添加属性
- 如何:更新用户资料图片通过对象模型
- 通过HTML文档对象模型访问文档中的ActiveX控件的属性
- 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询
- 通过编码分别测试ArrayList 和 LinkedList 添加、删除对象时的耗时情况(精确到纳秒),并总结出以上两种集合的数据结构的不同之处。
- 【翻】【英汉对照】【完整官方参考】Windows媒体播放器11 SDK 播放器对象模型(二)
- django 添加模型后 admin中界面显示为对象
- spirng模型属性值的添加和获得user对象