Я столкнулся с небольшой проблемой и немного покопался, но изо всех сил пытался придумать окончательный ответ / исправить.
По сути, у меня есть некоторый javascript (созданный сторонней организацией), который делает некоторые элементы whizzbang для элементов страницы, чтобы они выглядели красиво. Код прекрасно работает на отдельных страницах (то есть без мастера), однако, когда я пытаюсь применить эффекты к странице содержимого внутри мастера, он не работает.
Короче говоря, у меня есть главная страница, которая содержит ссылку на основной скрипт. Все страницы будут использовать скрипт, но параметры, переданные ему, будут отличаться для страниц контента.
Справочник сценариев главной страницы
<script src="scripts.js" language="javascript" type="text/javascript" />
Одна страница
<script>
MakePretty("elementID");
</script>
Как видите, мне нужна ссылка на каждой странице (следовательно, она находится в главной странице), но фактические элементы, которые я хочу "MakePretty", будут меняться в зависимости от содержимого.
Содержание страниц
Теперь, поскольку на странице содержимого нет элемента <head>
, я использовал следующий код для добавления его к элементу главных страниц <head>
:
HtmlGenericControl ctl = new HtmlGenericControl("script");
ctl.Attributes.Add("language", "javascript");
ctl.InnerHtml = @"MakePretty(""elementID"")";
Master.Page.Header.Controls.Add(ctl);
Теперь, это не работает . Однако, если я заменю что-то простое, например alert("HI!")
, все работает нормально. Итак, код добавляется в порядке, просто он не всегда выполняется в зависимости от того, что он делает ..
Теперь, покопавшись, я узнал, что событие Load
на этой странице содержимого возникает перед главными страницами, что может иметь эффект, однако я подумал, что весь javascript на странице был загружен / запущен один раз?
Простите, если это глупый вопрос, но я все еще относительно новичок в использовании javascript, особенно в сценарии мастер-страниц.
Как получить страницы с содержимым для вызова кода JavaScript, на который есть ссылка на главной странице?
Спасибо за любую помощь всем этим парням, вы действительно поможете мне с этой рабочей проблемой.
ПРИМЕЧАНИЯ:
RegisterStartupScript
и т.п., похоже, не работает ни на одном уровне.
- Идентификаторы элементов управления устанавливаются нормально, даже в среде MasterPage, и отображаются должным образом.
Извините, если что-то из этого неясно, я очень устала, поэтому, если нужно, прокомментируйте, если требуется переформулировка / уточнение.