zoukankan      html  css  js  c++  java
  • Webpart 通信:通过Web Part Connection 在Web Part 之间传递数据(一)

    之前做过很多类似的例子,只是很少去总结,今天任务比较少,趁着没事,就整理了下:

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

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

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

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

      Provider Webpart:  提供数据

      Consumer Webpart: 接收数据    

      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对象属性的值,来获得所需信息的。 SharePoint的Object Model其实提供了很完整的方法,让我们的代码可以直接获取任何页面上的所有WebPart的信息。

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

  • 相关阅读:
    登录被浏览器记住密码后,密码填充到密码框问题
    ThreadLocal为什么不使用Thread-value实现
    Linux AIO
    关于文件和socket读写的系统调用和库函数的一些小问题
    Maestro OAuth实现分析
    MySQL 两表join时加锁情况
    mysql基础之锁协议,事务隔离级别,加锁顺序
    MySQL中Timestamp和DateTime在JDBC和shell中的表现差异
    从git的问题模型理解git
    JVM类加载的符号解析
  • 原文地址:https://www.cnblogs.com/KingStar/p/2048921.html
Copyright © 2011-2022 走看看