Come aggiungere un WebPart a tutte le pagine di un sito di SharePoint?
-
16-10-2019 - |
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.
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:
- Aggiungi alla pagina master o layout di pagina utilizzando SP Designer.
- 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