J'ai des difficultés à obtenir la méthode XslCompiledTransform.Load
pour prendre un chemin de serveur. J'ai googlé et trouvé que je dois faire quelque chose comme:Obtention de XslCompiledTransform.Load pour charger un fichier dans une liste SharePoint
xslt.Load(System.Web.HttpContext.Server.MapPath(xslPath),
XsltSettings.Default, new XmlUrlResolver());
Mais il a retourné une erreur en disant HttpContext
est nulle.
J'ai aussi essayé:
xslt.Load(System.Web.HttpServerUtility.MapPath(xslPath),
XsltSettings.Default, new XmlUrlResolver());
Cela aussi a retourné une erreur indiquant une référence d'objet est nécessaire pour le champ non statique, la méthode ou la propriété System.Web.HttpServerUtility.MapPath(string)
Le xslPath a un chemin qui pointe vers un fichier xsl dans Sharepoint Web. Je veux juste que XslCompiledTransform charge le fichier xsl avec le chemin du serveur. C'est possible? Si oui, quelle est la manière appropriée ou la manière hackish de le faire?
EDIT: J'ai accès à un objet SPWeb qui contient le chemin d'accès au fichier xsl. Cependant, quand je vérifie le ServerRelativeUrl, il dit simplement "/MyTree/xsl.xsl". Le problème ici est que je n'ai pas pu obtenir XslCompiledTransform.Load pour charger le fichier à partir de la liste SharePoint.
Merci.
@Lachlan Roche: de quel paquet est Path? En outre, le chemin du fichier xsl est récupéré à partir de Sharepoint afin qu'il ne commence pas par ~/ou /. Je pense que cela vient tout droit d'une liste. – BeraCim
@BeraCim System.IO.Path –
@Lachlan Roche: merci pour la réponse. J'ai mis dans le ~ dans xslpath. Malheureusement cette fois, la méthode Load a indiqué qu'elle ne pouvait pas trouver une partie du chemin C: \ Inetpub \ wwwroot \ wss \ VirtualDirectories \ 80 \ ~ \ {chaîne de répertoire d'origine xslpath}. Si je retire le ~, le répertoire racine est devenu c: \ à la place.Comment est-ce que je fais la méthode de charge pour pointer vers la liste de Sharepoint réelle au lieu du système local? – BeraCim