approccio migliore per l'aggiunta di una parte web di una pagina esistente in più ambienti
-
16-10-2019 - |
Domanda
Se hai una pagina esistente in ogni ambiente per esempio default.aspx e si desidera aggiungere una web part e promuovere ad ogni ambiente qual è l'approccio migliore?
- Crea una WSP con una caratteristica ricevitore e aggiungere alla pagina attraverso l'attivazione
- Crea una WSP con una caratteristica e aggiungere un modulo con AllUserWebParts (richiede l'implementazione pagina aspx con esso però)
- esportazione e l'importazione web Manuale parte
- lo script PowerShell utilizzando SPLimitedWebPartManager
- Altro ...
Soluzione
Si potrebbe trovare lo SP2010 client Object Model usefule qui. Esportare il web part a una Web Part Control Descrizione del file (con estensione dwp o .webpart) e poi capovolgere in questo modo:
using (ClientContext context = new ClientContext("http://server")) {
Web web = context.Web;
File file = web.GetFileByServerRelativeUrl("/SitePages/Default.aspx");
LimitedWebPartManager wpMgr = file.GetLimitedWebPartManager(
PersonalizationScope.Shared);
WebPartDefinition webPartDef = wpMgr.ImportWebPart(
System.IO.File.ReadAllText("Content_Editor.dwp"));
wpMgr.AddWebPart(webPartDef.WebPart, "Left", 1);
context.ExecuteQuery();
}
Altri suggerimenti
Nella categoria "Altro", è sufficiente copiare e incollare il codice dalla pagina in un ambiente all'altro in SharePoint Designer. Tutto dipende dai requisiti di business, non è vero?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange