通过Web Part Connection 在Web Part 之间传递数据(一)

ASP.NET应用程序一样,在我们的Sharepoint站点页面上,控件与控件(即Web PartWeb Part)之间经常需要进行数据的交互。但是,在一个Sharepoint站点中,每一个Web Part都不能假设和它通信的另外一个Web Part 也在同一个页面上,因此我们在开发Web Part的时候,就不能hard code 去直接访问另外一个WP

那么我们如何去解决这个问题呢,下面就是我要谈到的如何进行WP之间的通信

MOSS提供了一种专门的机制Web Part Connection,用于在WP之间传递数据:

如图所示,SharePoint将要进行数据传递的WP分为俩类:

Provider WP:     提供数据

Consumer WP:   接收数据       

Web Part Connection 机制提供了一种松耦合的数据连接机制。Provider WP Consumer WP都只用关心自己的实现即可,而不必关心数据的接收或提供者是谁,怎么去使用。
在部署之后,我们的页面上放置了
Provider WP and Consumer WP, 这时候SharePoint机制会自动检测页面上所有Web Part 的类型,用数据通道把这俩种Web Part挂接起来,。如果发现某个Provider WP 所提供的数据正好可以被另外一个Consumer WP使用,那么管理员就可以在页面上直接将它们俩个连接起来。一个Provider WP 可被多个Consumer WP使用。通过数据通道,这样也就实现了Provider Consumer 之间的数据传递

上面简单介绍了SharePoint提供的用于Web Part之间通信的机制,我们可以用此标准的方式去进行Web Part Connection开发,但是这种方式也有它不灵活的地方。

其实我们可以直接用代码来得到页面上另外那个WebPart的实例对象,然后通过获得此WebPart对象属性的值,来获得所需信息的。 SharePointObject Model其实提供了很完整的方法,让我们的代码可以直接获取任何页面上的所有WebPart的信息。

当然我们还可以用QuickPart, 开发UserControl的方式来实现Web Part之间数据传递.

参考《MOSS开发入门指南》

posted on 2008-01-24 16:23  Ken Lin  阅读(1142)  评论(0)    收藏  举报

导航