janvier
2009
soit:
Le scope permets de choisir soit les web part partagées, soit les web part personnelles.
Une fois que ce SPLimitedWebPartManager est récupéré, on peut créer notre nouvelle web part.
Pour une web part Sharepoint standard, c’est assez simple, il suffit de faire un new, et de la configurer.
Pour mon problème personnel, les web parts en questions étaient des web part de type Content Editor et Page Viewer.
Configurer un page viewer est très simple, vu que la seule chose dont cette web part a besoin pour fonctionner, c’est l’url d’une autre page.
webpart.ContentLink = pageToView;
webpart.Title = title;
Le Content Editor est a peine plus complique. En effet, il demande comme contenu un XMLDocument. Pour le configurer, on va donc faire:
XmlElement xlElem = new XmlDocument().CreateElement(« MyElement »);
xlElem.InnerText = content;
webpart.Content = xlElem;
webpart.Title = title;
Une fois les web part configurées, il ne nous restera plus qu’a les ajouter a notre SPLimitedWebPartManager, en spécifiant l’Id de la zone dans laquelle on veut les ajouter.
_zoneId, ici, doit être une chaine de caractères. Mieux vaut connaitre l’id de la zone avant, car je n’ai pour l’instant pas trouve de moyen de trouver les zone Id valides sur la page.
Maintenant, on mets tout dans le shaker, on secoue très fort, et on sort une classe qui ressemble a ca:
private SPLimitedWebPartManager _limitedWebPartManager;
private string _zoneID;
public WebPartManager(SPWeb web, string pageUrl, string zoneId) {
_zoneID = zoneId;
System.Web.UI.WebControls.WebParts.PersonalizationScope scope;
scope = System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared;
_limitedWebPartManager = web.GetFile(web.Url + pageUrl).GetLimitedWebPartManager(scope);
}
public void CreatePageViewerWebPart(string title, string pageToView) {
PageViewerWebPart webpart = new PageViewerWebPart();
webpart.ContentLink = pageToView;
webpart.Title = title;
_limitedWebPartManager.AddWebPart(webpart, _zoneID, 0);
}
public void CreateContentEditorWebPart(string title, string content) {
ContentEditorWebPart webpart = new ContentEditorWebPart();
XmlElement xlElem = new XmlDocument().CreateElement(« MyElement »);
xlElem.InnerText = content;
webpart.Content = xlElem;
webpart.Title = title;
_limitedWebPartManager.AddWebPart(webpart, _zoneID, 0);
}
}
Et qui s’utilise comme ca:
.CreatePageViewerWebPart(« Users », « http://localhost/Users.aspx »); string content = « juste un test« ; new WebPartManager(web, « /Pages/Page2.aspx », « Left »)
.CreateContentEditorWebPart(« Test », content);
Elle est pas belle, la vie ?
Articles récents
Archives
- janvier 2014
- septembre 2013
- août 2013
- mai 2013
- avril 2013
- janvier 2013
- août 2012
- juin 2012
- mai 2012
- avril 2012
- mars 2012
- novembre 2011
- septembre 2011
- août 2011
- juillet 2011
- juin 2011
- mai 2011
- avril 2011
- février 2011
- janvier 2011
- novembre 2010
- octobre 2010
- septembre 2010
- août 2010
- juillet 2010
- juin 2010
- mai 2010
- avril 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- juin 2009
- mai 2009
- avril 2009
- mars 2009
- février 2009
- janvier 2009