Problème ajout WebPart via code behind sur une page d'une feature
Bonjour,
J'ai un petit souci pour ajouter une WebPart sur ma page via code behind..
Voici le topo.
J'ai un projet SharePoint 2010, dans lequel j'ai ajouté un module, et à ce module j'ai ajouté une page.
C'est sur cette page que j'aimerais ajouter une WebPart (via code behind ou dans l'aspx, peu m'importe pour le moment, mais si j'arrive en code behind c'est mieux!).
Voici ce que j'ai comme code qui devrait permettre d'ajouter la WebPart :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AddWebPartToPage("http://dev-sps1/", "/_FEATURES/DefaultPage_DefaultPage/CustomPages/HomePage.aspx");
}
}
public static void AddWebPartToPage(string siteURL, string pageRelativeUrl)
{
using (SPSite site = new SPSite(siteURL))
{
SPWeb web = site.RootWeb;
web.AllowUnsafeUpdates = true;
SPFile page = web.GetFile(pageRelativeUrl);
page.CheckOut();
using (SPLimitedWebPartManager wpmgr = page.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared))
{
XmlElement p = new XmlDocument().CreateElement("p");
p.InnerText = "Hello World : my custom webPart";
ContentEditorWebPart cewp = new ContentEditorWebPart();
cewp.Content = p;
wpmgr.AddWebPart(cewp, "Header", 0);
}
page.CheckIn(String.Empty);
}
} |
Code que j'ai trouvé ici :
Add WebPart programmatically
Résultat:
Tout fonctionne... Mais je ne vois pas de WebPart sur ma page.
Quelqu'un aurait-il une idée?!
Merci d'avance.