2010-01-30 2 views
0

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

В контроле карты пользователя, есть некоторые 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>"); 

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

+0

ли весь пользовательский элемент управления, завернутые в панель обновления? –

+0

Да, весь GridView завернут в UpdatePanel, и пользовательский элемент управления добавляется в строку этого GridView –

ответ

0

Вы должны использовать ScriptManager испускать свой JavaScript, где есть UpdatePanel участвует как так:

ScriptManager.RegisterStartupScript(this, this.GetType(), "initializeMap", "initializeMap();", true); 
+0

. Спасибо, Нааем, вот что я в итоге сделал. –

Смежные вопросы