2010-01-30 34 views
0

我在UpdatePanel中有一個GridView縮略圖照片,每行都有可點擊的圖標,每個圖標都會將包含小Google Map的用戶控件加載到相關行中。這個想法是,用戶可以通過點擊地圖來標記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

是全包的更新面板中的用戶控制的? – 2010-01-30 08:20:46

+0

是的,整個GridView被包裝在UpdatePanel中,並且用戶控件被添加到GridView的一行 – 2010-01-30 08:39:47

回答

0

你應該使用ScriptManager發出您的JavaScript,其中有一個UpdatePanel參與,像這樣:

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

感謝Naaem,這就是我最終做的。 – 2010-02-04 09:17:10

相關問題