Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
V_Monomax
1405 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
Завершенные тесты: 1
1

Как использовать созданные в проекте и собранные в библиотеку .js файлы?

05.07.2018, 13:52. Просмотров 1032. Ответов 9

Собственно есть проект, правда он Sharepoint-овский проект формы. Я создал .js файл в который записал нужный скрипт. Самый главный вопрос, как на стороне кода в нужный момент (например при отрисовке конкретного контрола) добавить содержимое файла?
0
Миниатюры
Как использовать созданные в проекте и собранные в библиотеку .js файлы?  
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2018, 13:52
Ответы с готовыми решениями:

[Android] Как использовать стороннюю библиотеку в проекте?
Поставил XE6 - попробовать новые возможности. Собственно, возникает вопрос, как в проекте...

Как использовать проекты, созданные в VS 2012, на VS 2010
Создал проект под 2012-ой студией. А тут понадобилось подкорректировать код, когда под рукой только...

Как убить файлы, созданные сессией?
Стартуем сессию и в определенной папке создаются ее служебные файлы. Со временем их там...

Как можно использовать в своей программе параметизированные запросы созданные в Асеессе ?
Ребята поможить... Разобраться с параметрами. Подскажите пожалуйста, как с помощью ADO кода...

Как найти в папке файлы, созданные вчера
Есть папка с фаилами. Как найти файлы, созданные только вчера? Спасибо Что-то типа ...... ...

9
IamRain
1741 / 1370 / 420
Регистрация: 02.08.2011
Сообщений: 4,031
05.07.2018, 17:56 2
Цитата Сообщение от V_Monomax Посмотреть сообщение
Самый главный вопрос, как на стороне кода в нужный момент
Предварительно нужно развернуть ваш wsp файл, и активировать feature-у, в состав которой будет входить javascript файл.
Подключается в зависимости от того, какой области видимости была фича (Site, Web), как и обычный js файл с помощью html-тега script.

Добавлено через 15 минут
Конкретный путь к js-у (то есть куда он будет развернут) указывается в xml-файле модуля, в котором находится js-файл, насколько я помню.
1
V_Monomax
1405 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
Завершенные тесты: 1
06.07.2018, 10:28  [ТС] 3
Цитата Сообщение от IamRain Посмотреть сообщение
Конкретный путь к js-у (то есть куда он будет развернут) указывается в xml-файле модуля, в котором находится js-файл, насколько я помню.
Я так понимаю мне нужно во Feature что-то прописать? А можно простенький пример строки, пожалуйста?
0
IamRain
1741 / 1370 / 420
Регистрация: 02.08.2011
Сообщений: 4,031
06.07.2018, 12:20 4
Лучший ответ Сообщение было отмечено V_Monomax как решение

Решение

Создаете модуль, (на элементе проекта -> Add -> New item -> Выбираете модуль, вроде так), переносите в него ваш js-файл.
Указываете атрибут Url в xml-ке для вашего js-a. И в фичу добавляете ваш модуль.
Url атрибут, например, может быть, такой:
XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="ScriptsModule" Url="SiteAssets/js">
    <File Path="ScriptsModule\script.js" Url="script.js" Type="GhostableInLibrary" ReplaceContent="true" />    
  </Module>
</Elements>
Url формируется на основе Url модуля + собственный url файла.
В данной случае если у фичи область - Web, то адрес будет такой: <WebTargetUrl>/SiteAssets/js/script.js
Path - это путь к файлу (модулю) из папки решения.

Добавлено через 9 минут
Развлекайтесь.
1
06.07.2018, 12:20
sau
2311 / 1790 / 313
Регистрация: 22.07.2011
Сообщений: 6,844
Завершенные тесты: 1
06.07.2018, 12:48 5
А что , обычные <script> директивы в html файлах (или в разметке тех же контролов) не будут работать ?
- как я понимаю , sharepoint это всего лишь надстройка над asp net , так что все стандартные подходы должны так же работать.
0
IamRain
1741 / 1370 / 420
Регистрация: 02.08.2011
Сообщений: 4,031
06.07.2018, 12:58 6
sau, В шарике контент разворачивается специфичным образом.
Нужно сначала правильно развернуть по определенному url, а потом уже подключать на странице
Цитата Сообщение от IamRain Посмотреть сообщение
как и обычный js файл с помощью html-тега script.
0
V_Monomax
1405 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
Завершенные тесты: 1
06.07.2018, 15:17  [ТС] 7
Цитата Сообщение от sau Посмотреть сообщение
А что , обычные <script> директивы в html файлах (или в разметке тех же контролов) не будут работать ?
- как я понимаю , sharepoint это всего лишь надстройка над asp net , так что все стандартные подходы должны так же работать.
Работать будут, но мои скрипты привязываются к конкретным контрлам, которые в зависимости от ситуации отрисовываются, хранить в коде string переменные со скриптом не очень удобно, да и наглядность редактора исчезает. поэтому хочеться в определенный момент, на одной и той же странице подгружать конкретный скрипт.

Добавлено через 2 часа 1 минуту
Итак, подытожим:
Хотим использовать подключаемый яваскрипт, или иной ресурс, который необходимо использовать в SharePoint, для таких случаев создаем Модуль:
В нужном месте проекта (будь корневая или иная папка проекта) по правой кнопке жмем "Добавить" --> "Office/SharePoint" -->"Модуль".
Вычищаем от туда все, затем добавляем нужный файл, в моем случае это JavaScript1.js, автоматически создается следующая XML:
XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="ScriptPanelButton">
    <File Path="ScriptPanelButton\JavaScript1.js" Url="ScriptPanelButton/JavaScript1.js" />
  </Module>
</Elements>
В общем с этим мы уже что-то можем делать, но как и порекомендовал IamRain, я внес правки:

XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="ScriptPanelButton" Url="Scripts/PanelButtonScripts">
    <File Path="ScriptPanelButton\JavaScript1.js" Url="ScriptPanelButton/JavaScript1.js" />
  </Module>
</Elements>
ну а далее в коде, при загрузке панельки:
C#
1
2
3
4
5
6
protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            string scriptPath = "Scripts/PanelButtonScripts/ScriptPanelButton/JavaScript1.js";
            Page.ClientScript.RegisterClientScriptInclude(GetType(), "SHW", scriptPath);
        }
отмечу, что на нашем шарике поднят подсайт и в нем создана библиотека вики страниц Scripts, в котору как раз и разворачивается скрипт.
Как итог все заработало очень хорошо!
0
V_Monomax
1405 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
Завершенные тесты: 1
16.07.2018, 16:17  [ТС] 8
IamRain, теперь возникла другая проблема, я построил проект собрал его и развернул, однако файлы не на тестовом сервере отсутствуют, что делать?
0
IamRain
1741 / 1370 / 420
Регистрация: 02.08.2011
Сообщений: 4,031
16.07.2018, 19:51 9
Цитата Сообщение от V_Monomax Посмотреть сообщение
теперь возникла другая проблема, я построил проект собрал его и развернул, однако файлы не на тестовом сервере отсутствуют
Активировать фичу, если еще не активировали. Без этого ничего и не появится.
Смотреть внимательно, куда развернули.
0
V_Monomax
1405 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
Завершенные тесты: 1
17.07.2018, 08:22  [ТС] 10
Цитата Сообщение от IamRain Посмотреть сообщение
Активировать фичу
а как это сделать, пока я развернул на сервере веб форму с помощью
Add-SPSolution
Install-SPSolution -Identity МояФорма.wsp -GACDeployment -WebApplication http://мойСайт
но папки нигде не появились
0
17.07.2018, 08:22
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2018, 08:22

Как скопировать все файлы на компьютере, созданные с 9:20 до 12:45?
Как в каталог скопировать все файлы компьютера созданные с 9:20 до 12:45 часов?

Как найти все файлы, созданные пользователем USER?
Как найти все файлы, созданные пользователем USER? Файлы находятся на файловом серваке Win2003.

Как найти файлы, созданные в указанный промежуток времени
Если есть папка, а в ней файлы. Нужно найти файлы созданные например 30.09 по 09.10 и их названия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.