商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

SharePoint,如何在WebPart中访问页面上的其他WebPart

作者:kaneboy  2007-10-22

【IT168 技术文档】

    今天在和朋友讨论一个老外写的WebPart的时候,发现那个WebPart获取页面上的其他WebPart信息时,并不是通过标准的WebPart Connection,而是直接用代码来得到页面上另外那个WebPart的实例对象,然后通过获得此WebPart对象属性的值,来获得所需信息的。

    SharePoint的Object Model其实提供了很完整的方法,让我们的代码可以直接获取任何页面上的所有WebPart的信息,所以在这里向大家简要介绍一下如何通过代码来访问页面上的WebPart。

    示范代码如下:

SPWeb web = SPControl.GetContextWeb(this.Context); SPWebPartCollection webParts = web.GetWebPartCollection(“default.aspx”, Storage.Shared);

    上面的两行代码,就获得了“default.aspx”这个页面上的所有WebPart集合。SPWebPartCollection这个对象拥有例如“Add()”、“Delete()”等方法,能够让我们直接用代码把WebPart添加到页面上,或者从页面上把WebPart删除。

foreach (WebPart wp in webParts) { String sTitle = wp.Title; }

    上面的代码遍历所有的WebPart,每一个WebPart都是一个类型为“WebPart”(不是SPWebPart哦,呵呵)的对象,然后,通过访问这个对象的属性值,就能轻松获取某个WebPart的信息了。我们还能在代码中直接修改某个WebPart的属性值,但是修改以后,记得调用SPWebPartCollection对象的SaveChanges()方法,把修改的内容保存下来。

    下面的图片是我做的一个Demo WebPart,在填入一个页面的URL后,它能够把此页面上所有的WebPart列出来,并显示选中的WebPart的所有属性。

1
【内容导航】
第1页: 第1页
©版权所有。未经许可,不得转载。
[责任编辑:振宇]
[an error occurred while processing this directive]