Ich habe die Anforderung, Webpart-Verbindungen in onet.xml anzugeben. Wenn die Website mit dieser Websitedefinition erstellt wird, sind die Webparts bereits verbunden und können sofort verwendet werden. Welche Eigenschaften muss ich für diese bestimmten Webparts in onet.xml angeben?Webpart-Verbindungen in Website-Definitionen
Antwort
Ich habe auch irgendwann im letzten Jahr die Wand angeschlagen! Es sieht so aus, als könnten Verbindungen in Webparts im neuen .webpart-Format nicht mehr wie im alten .dwp-Format angegeben werden. Ich habe schließlich eine benutzerdefinierte Funktion in der Website-Definition wie kpinhack auch vorgeschlagen. Mein Code zum Verbinden der Webparts ist unten aufgeführt. Die Methode wurde nur für die Verbindung zweier Webparts unterschiedlicher Typen entwickelt - sie unterstützt nicht mehrere Webparts desselben Typs auf derselben Seite. Aber ich bin sicher, Sie werden die allgemeine Idee verstehen.
private void ConnectWebParts(SPWeb web, string pageName, Type providerType, Type consumerType)
{
SPFile file = web.GetFile(pageName);
SPList list = null;
if (file.InDocumentLibrary)
{
list = file.Item.ParentList;
if (list.ForceCheckout) file.CheckOut();
}
SPLimitedWebPartManager webPartManager =
web.GetLimitedWebPartManager(
pageName,
System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);
WebPart provider = null;
foreach (WebPart wp in webPartManager.WebParts)
{
if (wp.GetType() == providerType)
{
provider = wp;
break;
}
}
foreach (WebPart consumer in webPartManager.WebParts)
{
if (consumer.GetType() != consumerType) continue;
ProviderConnectionPointCollection providerConnections = webPartManager.GetProviderConnectionPoints(provider);
ProviderConnectionPoint providerConnection = providerConnections[0];
ConsumerConnectionPointCollection consumerConnections = webPartManager.GetConsumerConnectionPoints(consumer);
ConsumerConnectionPoint consumerConnection = consumerConnections[0];
SPWebPartConnection con = webPartManager.SPConnectWebParts(provider, providerConnection, consumer, consumerConnection);
webPartManager.SPWebPartConnections.Add(con);
}
if (list != null)
{
if (list.ForceCheckout)
{
file.CheckIn("Added Web Part Connections");
}
if (list.EnableVersioning && list.EnableMinorVersions)
{
file.Publish("Added Web Part Connections");
}
}
}
Ich würde die WebParts in der SiteProvisioning-Funktion konfigurieren, indem ich den 'OnActivated'-Eventhandler implementiere. Auf diese Weise wird der Code ausgeführt, wenn die Website erstellt wird, und Sie können Fehler wie gewünscht behandeln (d. H. Wenn die WebParts nicht verfügbar sind, wenn die Website erstellt wird - aus welchen Gründen auch immer)
Ich hoffe, das hilft!
Ist dies die einzige Möglichkeit, eine Webpartverbindung in der Websitedefinition bereitzustellen? Kann ich Webpartverbindungseigenschaften in onet.xml nur nicht angeben. Ich denke, in Sharepoint 2003 waren zwei Web-Part-Projekte "connectionid" und "connections". Kann ich das nicht verwenden? wenn ja wie? –
danke kpinhack für die Lösung. –
müßten Sie den < AllUsersWebPart> Tag verwenden, um Ihre Web-Teile zu erklären, und dann Verbindungen innerhalb der geschlossenen < WebPart> Elemente deklarieren.
- 1. Sind SharePoint-Websitevorlagen wirklich weniger effizient als Websitedefinitionen?
- 2. Wie können wir neue SharePoint-Websitedefinitionen bereitstellen, damit sie für das SharePoint-System sensibilisiert werden?
- 3. In CSV in Array in Python konvertieren
- 4. 'IN' & 'NICHT IN' in Linq Abfrage
- 5. % in% Veränderung in dplyr Paket in R
- 6. Schleifen in Schleifen in Schleifen in Java
- 7. Funktionsparameter in Zeichenfolge in Parameter in Objekt
- 8. In Operator in Linq
- 9. In Python in bash
- 10. in Verknüpfungstabelle in Hibernate
- 11. IN-Klausel in sqlite
- 12. \ in path.combine in C#
- 13. "IN" Operator in Linq
- 14. in
- 15. in
- 16. Synchronisation in Vektoren in Java
- 17. SQLite in Operator in query()
- 18. Blobs in Blobstore in GAE
- 19. mehr IN-Bedingungen in JPQL
- 20. RadUpload in FormView in RadAjaxPanel
- 21. Javascript in select in Selen
- 22. SQL - IN vs. NICHT IN
- 23. Bindung in ItemTemplate in ResourceDictionary
- 24. Split in Großbuchstaben in PHP?
- 25. Kreuzung in sqlite3 in Python
- 26. Assoziativität von "in" in Python?
- 27. Vorwahlwert in Combobox in extjs
- 28. memcpy in float in int
- 29. Konvertierung in Dezimal in Matlab?
- 30. lapply in lapply in data.table
Danke für die Bereitstellung des Feature-Codes. Es hat wirklich geholfen –