Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
加载asp.net webform时如何停止运行javascript函数?_Javascript_Jquery_Asp.net - Fatal编程技术网

加载asp.net webform时如何停止运行javascript函数?

加载asp.net webform时如何停止运行javascript函数?,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我正在编写此代码以在地图上显示我的位置: <script src="http://maps.googleapis.com/maps/api/js"></script> <script> function initialize(x, y) { alert(x); alert(y); var mapProp = { center: new googl

我正在编写此代码以在地图上显示我的位置:

<script src="http://maps.googleapis.com/maps/api/js"></script>
   <script>
       function initialize(x, y) {
           alert(x);
           alert(y);
           var mapProp = {
               center: new google.maps.LatLng(x, y),
               zoom: 5,
               mapTypeId: google.maps.MapTypeId.ROADMAP
           };
           var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
       }
       google.maps.event.addDomListener(window, 'load', initialize);
</script>


我想当按钮启动时,将值发送到函数和java脚本函数更改映射位置,这是可行的,但当按钮启动时,函数运行,并在加载web表单时再次运行!,在第一次显示正确的位置时,但当页面加载事件发生时,将空值发送到函数并显示空位置,我认为在asp按钮中运行java脚本函数时会触发,而在页面加载发生时不运行java脚本函数?

代码的问题是代码块的执行顺序。根据
msdn
,通过
ClientScriptManager.RegisterStartupScript添加的代码的执行时间:

RegisterStartupScript方法添加的脚本块在页面完成加载但引发页面的OnLoad事件之前执行

因此,您可以通过在
脚本
标记中添加
布尔变量
来解决问题(该变量在页面加载时执行),最初将其设置为
false
,然后在
按钮单击处理程序中将其更改为
true
(页面加载完成后执行)。然后在
窗口中。onload
事件侦听器中,检查变量是否为
false
。如果是,则可以初始化映射

因此,您的
javascript
将更改为:

<script>
    var isButtonClick = false;
    function initialize(x, y) {
        var mapProp = {
            center: new google.maps.LatLng(x, y),
            zoom: 5,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
    }
    google.maps.event.addDomListener(window, 'load', function () { if(!isButtonClick)initialize(0, 0) });
</script>

我在当地进行了测试,效果很好

谢谢我的朋友关注我的问题,现在我投票支持你。
<script>
    var isButtonClick = false;
    function initialize(x, y) {
        var mapProp = {
            center: new google.maps.LatLng(x, y),
            zoom: 5,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
    }
    google.maps.event.addDomListener(window, 'load', function () { if(!isButtonClick)initialize(0, 0) });
</script>
void ButtonClick(object sender, EventArgs e)
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "beh", "isButtonClick=true;initialize(38.076306,46.279637);", true);
}