Gabriel Mongeon

Official blog, et sûrement le seul...

Lecture d'une Minute

Lorsque l’on utilise Silverlight pour développer des web parts pour SharePoint 2010, on risque d’utiliser le Client Object Model pour Silverlight pour accéder aux données de SharePoint. Mais qu’arrive t’il si on essaie de sortir de la web part Silverlight et par exemple mettre Silverlight dans une boite de dialogue de SharePoint? Réponse: Unhandled Error in Silverlight Application Object reference not set to an instance of an objectau niveau du ClientContext.Current.

Le problème vient du fait que la web part Silverlight injecte en paramètre a l’objet HTML le contexte SharePoint au bon fonctionnement du Client Object Model. Il faut donc injecté nous même les URL du site SharePoint où le Silverlight est actuellement affiché dans les initParams(MS.SP.url):

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
         width="100%" height="100%">
     <param name="source" value="MonFichierSilverlight.xap" />
     <param name="background" value="white" />
     <param name="minRuntimeVersion" value="4.0.41102.0" />
     <param name="autoUpgrade" value="true" />
     <param name="windowless" value="true" />

     <param name='initParams' value='MS.SP.url=<%= SPContext.Current.Site.Url%>/<%=SPContext.Current.Web.ServerRelativeUrl %>' />
     
     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.41102.0" style="text-decoration: none">
         <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight"
             style="border-style: none" />
     </a>
</object>

Vous pouvez maintenant sortir de la web part Silverlight de SharePoint

Posts Récents