Веб-части с JavaScript не работают с управляемым путем
-
10-12-2019 - |
Вопрос
Я разработал веб-части SharePoint 2010 с JavaScript и CSS (внутри модуля).У меня нет проблем со средой разработки, но с производственной средой.
В производственной среде у меня есть веб-приложение (http://productionapplication/)
с управляемым путем "корпорация" (http://productionapplication/corp/)
и «продукт» SiteCollection (http://productionapplication/corp/product)
.
Ошибка запроса GET HTTP для моего JavaScript и CSS при загрузке моих веб-частей.Скрипт и CSS правильно развернуты внутри "http://productionapplication/corp/product/MyDocumentLibrary/"
Как я могу решить свою проблему?
Спасибо за вашу поддержку.
Решение
Поскольку вы используете SharePoint Foundation (поэтому вы не можете использовать выражение $SPUrl), я бы посоветовал вам прибегнуть к некоторым классическим приемам ASP.Net для решения вашей проблемы:
Добавьте атрибуты runat="server" и id к элементу ссылки.
<link id="css1" runat="server" rel="stylesheet" type="text/css" media="screen" href="" />
В метод Page_Load добавьте этот код:
css1.Attributes["href"] = SPUrlUtility.CombineUrl(SPContext.Current.Web.ServerRelativeUrl, "/MyDocumentLibrary/Css/example.css");
Другие советы
Попробуйте SPUrl
токен:
<link rel="stylesheet" type="text/css" media="screen" href='<% $SPUrl:~site/MyDocumentLibrary/Css/example.css %>' />
Если это не сработает, попробуйте указать полный относительный путь к управляемому пути:
<link rel="stylesheet" type="text/css" media="screen" href="corp/product/MyDocumentLibrary/Css/example.css" />