【发布时间】:2011-01-11 03:43:49
【问题描述】:
我在 UpdatePanel 中有一个缩略图照片的 GridView,每行中都有可点击的图标,每个图标都将一个包含小型 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>");
但我认为我在那个方面也没有走在正确的轨道上。
【问题讨论】:
-
整个用户控件是否包含在更新面板中?
-
是的,整个 GridView 被包裹在 UpdatePanel 中,并且用户控件被添加到该 GridView 的一行
标签: c# asp.net javascript updatepanel