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

SharePoint,如何在WebPart中访问页面上的其他WebPartZDNet软件频道2007-10-31作者:kaneboy |
本文关键词:WebPart SharePoint
今天在和朋友讨论一个老外写的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

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: