Как вызвать внешний файл Javascript из веб-части - PullRequest
4 голосов
/ 21 февраля 2011

Я создаю веб-часть для SharePoint 2010 и хочу добавить простой модальный .

Я зарегистрировал внешний js-скрипт следующим образом:

ScriptLink.Register(this.Page, "js/jquery-1.5.min.js", true);   
ScriptLink.Register(this.Page, "js/jquery.simplemodal-1.4.1.js", true);   

Каким-то образом я получаю сообщение о том, что файл не найден, потому что он просматривает каталог 1033/_layouts или что-то в этом роде.

Итак, мой вопрос: как я могу ссылаться на внешний файл JavaScript из моей веб-части, не помещая их в этот каталог?

Ответы [ 4 ]

11 голосов
/ 21 февраля 2011

По моему мнению, вы должны развертывать свои сценарии в макетах вместе с изображениями, таблицами стилей и т. Д., Которые не предназначены для настройки пользователями.

Вы можете сопоставить папку «Макеты» сваш проект в VS 2010. Затем добавьте подпапки, чтобы отразить название вашего проекта и т. д. (Щелкните правой кнопкой мыши проект -> Добавить-> Сопоставленная папка «Макеты» SharePoint)Макеты- Название проекта- - Сценарии- - - jquery-1.5.min.js

Затем, когда вы развернете свое решение, сценарии будут скопированы в нужное место.

В вашей веб-части вы можете ссылаться на свои сценариикак:

В коде:

ScriptLink.Register(this.Page, "ProjectName/Scripts/jquery-1.5.min.js", false);

Но я предпочитаю в .ascx:

<SharePoint:ScriptLink ID="ScriptLink2" Name="ProjectName/Scripts/jquery-1.5.min.js" runat="server" OnDemand="false" Localizable="false" />
2 голосов
/ 27 мая 2012

Если вы установите для атрибута «Localizable» значение «false» в теге ScriptLink, папка «1033» будет пропущена.

0 голосов
/ 21 февраля 2011

Я не уверен, что это все еще работает в SharePoint 2010, но вот как я это сделал в SharePoint 2007:

ScriptLink.Register(this.Page, "js/jquery-1.5.min.js", true);
List<string> list = (List<string>)HttpContext.Current.Items["sp-ScriptLinkValues"];
int index = list.Count - 1;
string item = list[index];
list[index] = item.Replace("/_layouts/1033/js", 
    "http://ajax.googleapis.com/ajax/libs/jquery/1.5");
0 голосов
/ 21 февраля 2011

Если вы добавите еще одну веб-часть «Редактор контента», вы можете поместить туда свой «Включить» код файла JavaScript с указанием полного местоположения файла.

...