SharePoint多个连接到Web部件

3

在Sharepoint中,是否可能创建连接的Web部件,使其与提供程序有多个连接?

例如,Web Part A和B是提供程序,而Web Part C是使用者。

A是使用者C的提供程序,B也是使用者C的提供程序。

谢谢。

Rhys,我尝试过了但似乎不起作用。使用者Web部件仅能与最后设置的提供程序一起使用。

[ConnectionConsumer("KeywordsConsumer", "KeywordsID", AllowsMultipleConnections=true)]
public void ProviderReceiver1(ICommunicationChannel p)
{
       provider = p;
}

[ConnectionConsumer("NewEmployeeConsumer", "ID", AllowsMultipleConnections=true)]
public void ProviderReceiver2(ICommunicationChannel p)
{
    provider = p;
}
2个回答

2
我相信问题出在您使用同一个变量(provider)来存储两个引用,因此一个引用会替换另一个引用。
请使用:
private ICommunicationChannel _keywordsProvider;
private ICommunicationChannel _newEmployeeProvider;

[ConnectionConsumer("KeywordsConsumer", "KeywordsID", AllowsMultipleConnections=true)]
public void ProviderReceiver1(ICommunicationChannel p)
{
     _keywordsProvider = p;
}

[ConnectionConsumer("NewEmployeeConsumer", "ID", AllowsMultipleConnections=true)]
public void ProviderReceiver2(ICommunicationChannel p)
{
     _newEmployeeProvider = p;
}

好的,就是这样。谢谢!还有一个问题,在这种情况下它是否需要AllowsMultipleConnections属性? - devXen

1

是的,在 Web 部件 C 中允许有多个接收器。

如果您自己编写 Web 部件,可以为 Web 部件 C 定义两个接收器,然后配置 Web 部件 A 将数据发送到接收器 1,同样地,Web 部件 B 将数据发送到接收器 2。


你是正确的 - 例如内置的列表视图 Web 部件 (LVWP) 将在 2010 年接受多个连接作为消费者 (Web 部件 C) - 但在 2007 年它只能接受单个连接。 - Ryan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接