Tengo el requisito de especificar conexiones de elementos web en onet.xml. Por lo tanto, cuando el sitio se crea utilizando esta definición de sitio, dichos elementos web ya están conectados y listos para usar. Qué propiedades debo especificar para esas partes web en particular en onet.xml.Conexiones de elementos web en definiciones de sitios
Respuesta
¡También he golpeado la pared en este el año pasado! Parece que las conexiones ya no se pueden especificar en los elementos web en el nuevo formato .webpart, ya que podrían en el antiguo formato .dwp. Terminé incluyendo una característica personalizada en la definición del sitio como también sugiere kpinhack. Mi código para conectar los elementos web se enumera a continuación. El método está diseñado para conectar dos elementos web de diferentes tipos: no admite varios elementos web del mismo tipo en la misma página. Pero estoy seguro de que captarás la idea general.
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");
}
}
}
Configuraría las WebParts en la función SiteProvisioning-Feature, implementando el manejador de eventos 'OnActivated'. De esta forma, el código se ejecutará cuando se cree el sitio web y podrá manejar los errores de la manera que le guste (por ejemplo, si los WebParts no están disponibles cuando se crea el sitio web)
¡Espero que esto ayude!
¿Es esta la única manera de proporcionar conexión de pieza web en la definición del sitio? ¿No puedo simplemente especificar las propiedades de conexión de webpart en onet.xml? Creo que en sharepoint 2003 dos proezas de partes web estaban allí "connectionid" y "connections". ¿No puedo usar lo mismo? Si es así, ¿cómo? –
gracias kpinhack por la solución. –
que tendría que utilizar la etiqueta < AllUsersWebPart> declarar sus piezas de la tela, y luego declarar sus conexiones dentro de los < WebPart> elementos encerrados.
- 1. ¿Las plantillas de sitios de SharePoint son realmente menos eficientes que las definiciones de sitios?
- 2. Depuración de sitios web móviles
- 3. Bloquear sitios web en Android
- 4. Administración de CSS en sitios web grandes
- 5. mono en sitios web de producción?
- 6. Depuración de sitios web en Internet Explorer
- 7. Uso de imágenes PNG en sitios web
- 8. Usando arrastrar y soltar en sitios web?
- 9. Algoritmo de búsqueda de sitios web
- 10. Creación de prototipos de sitios web interactivos
- 11. Bibliotecas de monitoreo de sitios web
- 12. ¿Prevención de descarga de sitios web enteros?
- 13. Orchard para sitios web personalizados
- 14. ¿Cómo raspar logotipos de sitios web?
- 15. Clojure bibliotecas y tutoriales de sitios web
- 16. Programación de sitios web para dispositivos móviles
- 17. ¿Cómo extraer extractos bancarios de sitios web?
- 18. Openshift para sitios web comerciales
- 19. ¿JQuery en vivo ralentiza los sitios web?
- 20. Buenos sitios web para probar webcrawler en
- 21. Tablas contra divs en sitios web móviles
- 22. Desarrollo de sitios web para la entrada de datos
- 23. Normalizar o desnormalizar en sitios web de alto tráfico
- 24. RavenDb en sitios web de Azure - Acceso denegado
- 25. Agregar machineKey a web.config en sitios de la granja web
- 26. ¿Cómo encontrar la ruta de sitemap.xml en los sitios web?
- 27. ¿Es posible proporcionar resaltado de código en sitios web sites.google.com?
- 28. Web herramienta Administración de sitios en Visual Studio 2012
- 29. Usar SVG en los sitios web de Windows Azure
Gracias por proporcionar el código de función. Realmente ayudó –