Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在动态添加的用户控件中执行javascript_C#_Asp.net_Javascript_Updatepanel - Fatal编程技术网

C# 如何在动态添加的用户控件中执行javascript

C# 如何在动态添加的用户控件中执行javascript,c#,asp.net,javascript,updatepanel,C#,Asp.net,Javascript,Updatepanel,我在UpdatePanel中有一个缩略图的GridView,每一行都有可点击的图标,每一行都会加载一个包含一个小Google地图的用户控件到相关行中。其想法是,用户可以通过单击地图对GridView中的任何照片进行地理标记 在地图用户控件中,有一些Javascript初始化地图: function initializeMap() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementB

我在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>");
但是我也不认为我在这方面做得对。

如果涉及到UpdatePanel,您应该使用来发出javascript,如下所示:

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

整个用户控件是否包装在更新面板中?是的,整个GridView包装在UpdatePanel中,并且用户控件被添加到该GridView的一行中感谢Naaem,这就是我最后所做的。