2010-11-22 7 views
3

Ist es möglich, verbundene Webparts in Sharepoint zu erstellen, die mehrere Verbindungen mit dem Anbieter haben.Sharepoint mehrere Verbindungen zu einem Web-Teile

Zum Beispiel Webpart A und B sind der Anbieter und Webpart C ist der Verbraucher.

A ist der Anbieter der Verbraucher C und B ist auch der Anbieter Verbraucher C.

Dank.

Rhys, Ich versuchte dies und scheint nicht zu arbeiten. Das Consumer-Webpart funktioniert nur mit dem letzten Anbieter, auf den es festgelegt ist.

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

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

Antwort

2

I glauben Sie das Problem ist, dass Sie die gleiche Variable (Anbieter) verwenden, um beide Referenzen zu speichern - so wird man den anderen ersetzen.

Verwenden

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; 
} 
+0

Ja, das ist es. Vielen Dank! Noch eine Frage: Benötigt es in diesem Fall das Attribut AllowsMultipleConnections? – devXen

1

Ja, in der Web-Teil C ermöglicht mehrere Empfänger.

Wenn Sie die Web-Teile selbst schreiben, können Sie zwei Empfänger für Web-Teil C definieren und dann Webpart A konfigurieren, um Daten senden 1 zum Empfänger und in ähnlicher Weise B-Webpart Daten für den Empfänger senden 2.

+0

Sie sind richtig - zum Beispiel des eingebaut Listenansicht-Webpart (LVWP) wird als Verbraucher (Web Part C) mehr Verbindungen im Jahr 2010 akzeptieren - aber im Jahr 2007 wird es nur akzeptieren eine einzige Verbindung – Ryan

Verwandte Themen