Come aggiungere codice un webpart ad una pagina?
-
16-10-2019 - |
Domanda
Ho creato un webpart, ora ho bisogno di aggiungere che webpart di programmazione nella pagina EditForm.aspx. Chiunque può aiutare me su questo.
Soluzione
È possibile creare una funzione e l'attivazione della funzione è possibile aggiungere il webpart alla pagina.
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
using(SPWeb web = site.OpenWeb())
{
using(SPLimitedWebPartManager wpManager = web.GetLimitedWebPartManager(page url, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared))
{
YourWebPart webpart = new YourWebPart();
webpart.ZoneID = "Top";
webpart.Title = "My Webpart";
wpManager.AddWebPart(webpart,"Top" , 0);
}
}
}
hanno anche uno sguardo a questo link per riferimento.
La speranza aiuta.
Altri suggerimenti
Date un'occhiata al SPLimitedWebPartManager.
Afferra l'oggetto SPFile che riguarda la pagina EditForm.aspx e quindi eseguire il metodo GetLimitedWebPartManager sull'oggetto SPFile. Utilizzare il gestore parte web limitato a modificare la pagina web part.
Questa operazione potrebbe richiedere un ulteriore passo avanti: https://www.nothingbutsharepoint.com/sites/devwiki/SP2007Dev/Pages/How%20to%20create%20Web%20Part% 20instances% 20on% 20pages% 20using% 20Features% 20-% 20FeatureReceiver% 20-% 20SPLimitedWebPartManager.aspx
Ecco il metodo della classe SPLimitedWebPartManager
che apre le web part chiuse
// Summary:
// Opens a dynamic Web Part that was previously closed by CloseWebPart so it
// renders on the WebPartPage.
//
// Parameters:
// webPart:
public void OpenWebPart(System.Web.UI.WebControls.WebParts.WebPart webPart);
Se non si desidera direttamente riferimento di tipo WebPart nel codice, è possibile utilizzare metodo SPLimitedWebPartManager.ImportWebPart .
Hai solo bisogno di fornire contenuto del dwp * o * file di descrizione .webpart per l'istanza webpart che si desidera importare.