Ну, проблема кажется немного запутанной.
В одной руке у меня Update Panel
. Внутри этого Update Panel
у меня есть Modal Popup Extender
, а содержимое этого всплывающего окна — Web User Control
.
В моем User Control
я пытаюсь включить слайдер галереи (http://bxslider.com/), который должен быть инициализирован просто с помощью строк JavaScript:
$(document).ready(function() {
$('.bxslider').bxSlider();
}
, где .bxslider
— класс контейнера, в котором определены слайды галереи.
При просмотре веб-страниц, когда я нажимаю на элемент управления, который запускает всплывающее окно, появляются элементы управления галереей (предыдущий, следующий и нижний колонтитул с несколькими кругами, представляющими каждый из слайдов галереи), но я не возможность видеть содержимое самой галереи.
Теперь, если я получаю доступ к консоли Chrome, волшебным образом отображается галерея.
Я пытался поставить инициализацию в нескольких местах:
В файле разметки
Web User Control
в начале.В файле разметки
Web User Control
в конце.В событии
Web User Control
Load
:protected void Page_Load(object sender, EventArgs e) { String script = "$(document).ready(function() { $('.bxslider').bxSlider(); }"; ScriptManager.RegisterStartupScript((Control)this.Page, this.Page.GetType(), new Guid().ToString(), script, true); }
В событии
Web User Control
LoadComplete
(привязка через событиеInit
):protected void Page_Init(object sender, EventArgs e) { this.Page.LoadComplete += new EventHandler(Page_LoadComplete); } protected void Page_LoadComplete(object sender, EventArgs e) { String script = "$(document).ready(function() { $('.bxslider').bxSlider(); }"; ScriptManager.RegisterStartupScript((Control)this.Page, this.Page.GetType(), new Guid().ToString(), script, true); }
В событии
Modal Popup Extender
OnLoad
.
Я полностью потерян. Есть идеи?
EDIT: я думаю, что здесь правильный вопрос: есть ли способ установить метод, который вызывается только при отображении Modal Popup Extender
, а не при его загрузке?