WebParts mit JavaScript funktionieren nicht mit verwaltetem Pfad
-
10-12-2019 - |
Frage
Ich habe ein SharePoint 2010-WebParts mit JavaScript und CSS (innerhalb eines Moduls) entwickelt.Ich habe kein Problem in der Entwicklungsumgebung, sondern in der Produktionsumgebung.
In der Produktionsumgebung habe ich eine Webanwendung (http://productionapplication/)
mit verwaltetem Pfad "corp" (http://productionapplication/corp/)
und eine SiteCollection "Produkt" (http://productionapplication/corp/product)
.
Die HTTP-Anfrage für mein JavaScript und CSS beim Laden meiner WebParts schlägt fehl.Skript und CSS werden darin korrekt bereitgestellt "http://productionapplication/corp/product/MyDocumentLibrary/"
Wie kann ich mein Problem lösen?
Danke für deine Unterstützung.
Lösung
Da Sie sich in SharePoint Foundation befinden (daher können Sie den Ausdruck $ SPUrl nicht verwenden), würde ich vorschlagen, dass Sie auf einen Klassiker zurückgreifen ASP.Net tricks, um Ihr Problem zu umgehen:
Fügen Sie dem Link-Element ein runat = "Server" - und ID-Attribut hinzu
<link id="css1" runat="server" rel="stylesheet" type="text/css" media="screen" href="" />
Fügen Sie innerhalb der Page_Load-Methode diesen Code hinzu:
css1.Attributes["href"] = SPUrlUtility.CombineUrl(SPContext.Current.Web.ServerRelativeUrl, "/MyDocumentLibrary/Css/example.css");
Andere Tipps
Probieren Sie die SPUrl
Token:
<link rel="stylesheet" type="text/css" media="screen" href='<% $SPUrl:~site/MyDocumentLibrary/Css/example.css %>' />
Wenn dies nicht funktioniert, versuchen Sie den vollständigen relativen Pfad zu Ihrem verwalteten Pfad:
<link rel="stylesheet" type="text/css" media="screen" href="corp/product/MyDocumentLibrary/Css/example.css" />