ASP.NET: Как (программно) прикрепить тег <script>, содержащий ссылку на .js, на <head>? - PullRequest
1 голос
/ 19 июля 2011

Это сценарий:

Я работаю над новым приложением ASP.NET, которое использует главные страницы практически для всех веб-страниц, некоторые из которых вложены в 4 уровня.Из-за масштабов проекта мне пришлось организовывать веб-страницы в папки на разных уровнях глубины.Глобальная страница Master (в верхнем регистре), расположенная в корневом каталоге, содержит некоторые полезные функции Javascript, которые используются по всему веб-приложению, и я хотел поместить эти функции вместе в один файл .js, чтобы сохранить вещиНу, по порядку: D.(В настоящее время они встроены в главную страницу).

Однако недавно я обнаружил, что тегам , размещенным в блоке , нельзя указывать их пути, например, "~/Scripts/Utils.js ", поскольку ASP.NET, похоже, не распознает эти пути по тегам (однако, как ни странно, распознает их * по тегам ).Я стараюсь не вставлять тег на каждой отдельной веб-странице сайта, указывающей относительный путь к файлу .js (именно поэтому я и хотел использовать главные страницы в первую очередь).

Итак, в сущности, учитывая этот сценарий, я хочу спросить вас, каков рекомендуемый способ вставки через код тегов в блок веб-страницы, чтобы я могпри указании ссылки на файл .js можно использовать что-то вроде Something.Something (Something, Page.ResolveURL ("~ / Scripts / Utils.js")); на глобальной главной странице, поэтомуон разрешит правильный путь на всех веб-страницах приложения, независимо от того, в каком каталоге они находятся?

Или это неправильный подход, и я должен что-то использоватьеще целиком?

1 Ответ

3 голосов
/ 19 июля 2011

Вы можете использовать ClientScriptManager:

Page.ClientScript.RegisterClientScriptInclude("MyScript", ResolveUrl("~/Scripts/MyScript.js"));

Первый аргумент - это уникальный ключ, представляющий файл скрипта, чтобы остановить последующие скрипты, зарегистрированные с тем же ключом. Например. у вас может быть некоторый общий код, который делает то же самое и может выполняться несколько раз, поэтому, указав ключ, вы гарантируете, что скрипт будет зарегистрирован только один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...