Как мне выполнить JavaScript в динамически добавленном пользовательском элементе управления - PullRequest
0 голосов
/ 30 января 2010

У меня есть GridView миниатюрных фотографий в UpdatePanel с кликабельными значками в каждой строке, каждая из которых загружает пользовательский элемент управления, содержащий небольшую карту Google, в соответствующую строку. Идея состоит в том, что пользователь может геотегировать (нажав на карту) любую фотографию в GridView.

В пользовательском элементе управления картой есть некоторый Javascript, инициализирующий карту:

function initializeMap() {
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById('Map'), {size: new
GSize(336, 200)});
        // set the map controls, set the centre, etc.
    }
}

Проблема в том, что я не знаю, как вызвать метод initializeMap(). Поскольку он динамически добавляется на страницу, любая попытка связать его с вызывающей кнопкой, например, с помощью "onClientClick=initializeMap()", приводит к ошибке JS, говоря, что метод не определен.

Я пытался

ClientScript.RegisterStartupScript(this.GetType(), "initializeMap", "<script type=\"text/javascript\">alert('Here'); initializeMap();</script>");

но я не думаю, что я на правильном пути с этим тоже.

1 Ответ

0 голосов
/ 30 января 2010

Вы должны использовать ScriptManager , чтобы создать свой javascript там, где есть UpdatePanel, например:

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