Domanda

Sto usando Enterprise SharePoint Server 2007 con Windows Server 2008 Enterprise, e sto usando la pubblicazione di modello di portale. Sto sviluppando con VSTS 2008 + C # .Net + 3,5.

Vorrei sapere, Come aggiungere un WebPart a tutte le pagine di un sito di SharePoint?

Tutti i campioni di riferimento?

Voglio usare questo WebPart per visualizzare alcune informazioni comuni (ma le informazioni possono cambiare in modo dinamico, ed è per questo ho scelto un WebPart) su tutte le pagine.

È stato utile?

Soluzione

Questa informazione cambia in modo dinamico, non significa che dovete utilizzare un WebParts.

Utilizzare WebParts quando si

  • Bisogno designer / collaboratore per modificare la funzionalità predefinita o l'aggiunta di WebParts o modificare le proprietà su WebParts senza dover coinvolgere uno sviluppatore
  • hanno un motivo specifico come usarlo come filtro WebParts, Connected WebParts, caching ecc.

Per quello che si sta facendo vorrei invece consiglia di utilizzare un controllo web personalizzato ASP.NET ordinario.

A seconda delle esigenze può essere posizionato sia in pagine master o pagine di layout.

Si può anche scegliere di sviluppare un controllo delegato, che offre una maggiore flessibilità per aggiungere nuovi controlli e hanno un comportamento diverso su diversi livelli della struttura del sito. più sui controlli delegati

hth Anders Rask

Altri suggerimenti

Penso che un webpart funziona in entrambi i modi, perché un webpart è solo un WebControl più avanzato. Lo farei uno dei due modi:

  1. Aggiungi alla pagina master o layout di pagina utilizzando SP Designer.
  2. Aggiungi ad ogni pagina programmically utilizzando una funzionalità

1 è se è necessario il webpart di esistere dove non c'è una zona webpart. Avrai bisogno di fare il cambiamento ad ogni diversa istanza della pagina master o layout di pagina che si desidera avere il controllo su. La maggior parte delle persone che hanno solo una pagina master quindi questo potrebbe essere una facile vittoria.

2 ti limiti a solo pagine che hanno aree web part. Ricordate l'aggiunta di un webpart programmically richiede essere aggiunto ad una zona.

Il codice per aggiungere un aspetto WebPart in questo modo:

ContentEditorWebPart webpart = new ContentEditorWebPart();
webpart.ChromeType = PartChromeType.TitleOnly;
webpart.Title = "Content Editor";

XmlDocument xmlDoc = new XmlDocument();
XmlElement xmlElement = xmlDoc.CreateElement("MyElement");
xmlElement.InnerText = "My Text";
webpart.Content = xmlElement;        

using (SPLimitedWebPartManager mgr = web.GetLimitedWebPartManager(pageUrl, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared))
{
    try
    {
    	mgr.AddWebPart(webPart, "MiddleLeftZone", 0);
    }
    finally
    {
    	if (mgr != null &&
    		mgr.Web != null)
    	{
    		mgr.Web.Dispose();
    	}
    }
}

Ci sono due modi per farlo a seconda della situazione.

Se i siti esistono già, è necessario per scorrere i siti, aggiungendo la parte web:

http://blogs.msdn.com/tconte/archive/2007/01/18/programmatically-adding-web-parts-to-a-page.aspx

Se non esistono i siti allora si può aggiungere la web part per il modello di sito:

https://stackoverflow.com / domande / 234302 / how-to-add-a-web-parte-pagina-per-un-sito-definizione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top