WebParts avec JavaScript ne fonctionnent pas avec chemin d'accès géré
-
10-12-2019 - |
Question
J'ai développé un WebParts SharePoint 2010 avec le JavaScript et le CSS(à l'intérieur d'un module).Je n'ai pas de problème sur le développement de l'environnement, mais dans un environnement de production.
Dans un environnement de production, j'ai une WebApplication (http://productionapplication/)
avec chemin d'accès géré "corp" (http://productionapplication/corp/)
et un SiteCollection "produit" (http://productionapplication/corp/product)
.
Requête HTTP GET échouer pour mon JavaScript et CSS sur le chargement de mon WebParts.Script et le CSS sont correctement déployés à l'intérieur "http://productionapplication/corp/product/MyDocumentLibrary/"
Comment puis-je résoudre mon problème?
Merci pour votre soutien.
La solution
Parce que vous êtes sur SharePoint Foundation (vous ne pouvez donc pas utiliser le $SPUrl de l'expression), je voudrais vous suggérer de recourir à quelques classique ASP.Net astuces pour contourner le problème:
Ajouter un runat="server" et attributs id de l'élément link
<link id="css1" runat="server" rel="stylesheet" type="text/css" media="screen" href="" />
Dans la méthode Page_Load, ajoutez ce code:
css1.Attributes["href"] = SPUrlUtility.CombineUrl(SPContext.Current.Web.ServerRelativeUrl, "/MyDocumentLibrary/Css/example.css");
Autres conseils
Essayez le SPUrl
token:
<link rel="stylesheet" type="text/css" media="screen" href='<% $SPUrl:~site/MyDocumentLibrary/Css/example.css %>' />
Si cela ne fonctionne pas, essayez le chemin complet par rapport à vous le chemin d'accès géré:
<link rel="stylesheet" type="text/css" media="screen" href="corp/product/MyDocumentLibrary/Css/example.css" />