Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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
Javascript 如何检查和停止updatepanel中Updateprogress的多个回发_Javascript_Asp.net_Updatepanel_Updateprogress - Fatal编程技术网

Javascript 如何检查和停止updatepanel中Updateprogress的多个回发

Javascript 如何检查和停止updatepanel中Updateprogress的多个回发,javascript,asp.net,updatepanel,updateprogress,Javascript,Asp.net,Updatepanel,Updateprogress,我正在网页中使用updateprogress控件作为updatepanel。我为updateprogress指定了一个条件,即只有当它获得相应的回发元素时才应该加载。只有当只有一个回发元素时,它才能正常工作。如何检查页面中的其他回发元素并启用updateprogress控件。 我的代码是 <style type="text/css"> .Background { position: fixed; left: 0; top: 0;

我正在网页中使用updateprogress控件作为updatepanel。我为updateprogress指定了一个条件,即只有当它获得相应的回发元素时才应该加载。只有当只有一个回发元素时,它才能正常工作。如何检查页面中的其他回发元素并启用updateprogress控件。 我的代码是

<style type="text/css">
        .Background
        {
            position: fixed; left: 0; top: 0; z-index: 10; width: 100%;height: 100%;
            filter: alpha(opacity=40);
        }
    </style>
    <script type="text/JavaScript" language="JavaScript">    
        function pageLoad() {    
            var manager = Sys.WebForms.PageRequestManager.getInstance();    
            manager.add_endRequest(endRequest);    
            manager.add_beginRequest(OnBeginRequest);    
        }    
        function OnBeginRequest(sender, args) {    
            var postBackElement = args.get_postBackElement();    
            if (postBackElement.id == 'Button1') {    
                $get('UpdateProgress1').style.display = "block";    
            }
                $get('ParentDiv').className = 'Background';    
        }    
        function endRequest(sender, args) {    
            $get('ParentDiv').className = '';    
        }  </script>

.背景
{
位置:固定;左侧:0;顶部:0;z指数:10;宽度:100%;高度:100%;
过滤器:α(不透明度=40);
}
函数pageLoad(){
var manager=Sys.WebForms.PageRequestManager.getInstance();
经理。添加_endRequest(endRequest);
经理。添加_beginRequest(OnBeginRequest);
}    
函数OnBeginRequest(发送方,参数){
var postBackElement=args.get_postBackElement();
如果(postBackElement.id='Button1'){
$get('UpdateProgress1').style.display=“block”;
}
$get('ParentDiv')。className='Background';
}    
函数endRequest(发送方,参数){
$get('ParentDiv')。className='';
}  
我的aspx代码为

 <asp:ScriptManager ID="ScriptManager1" runat="server" />
         <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
        <div id="ParentDiv">
            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <td height="403">
                    <iframe id="IFOEvent" name="InIframe" scrolling="auto" runat="server"
                        width="75%" height="203" class=""></iframe>
                </td>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Button1" />
            </Triggers>
        </asp:UpdatePanel>
        </div>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
        <ProgressTemplate>
            <div id="IMGDIV" align="center">
                <img src="Images/loading.gif" alt="" /><br />          
                </div>
            </ProgressTemplate>
        </asp:UpdateProgress>



例如,设置变量并更改其值end Request方法

var temp = 0;
函数endRequest(发送方,参数){
如果(温度==0) {
$get('ParentDiv')。类名称=“”;
temp++; } 其他的 { 温度=0; } }


您还可以使用隐藏文件来设置值。

您可以使用多种方法来设置值。为什么不这样做呢

  • 将id集推送到阵列

  • 在回发期间检查元素是否在数组中

  • 作为常规异步回发处理

    代码
函数pageLoad(){
var manager=Sys.WebForms.PageRequestManager.getInstance();
经理。添加_endRequest(endRequest);
经理。添加_beginRequest(OnBeginRequest);
}

函数OnBeginRequest(发送方,参数){ 变量映射=[“按钮1”、“按钮2”、“按钮3”]; var postBackElement=args.get_postBackElement(); if(map.indexOf(postBackElement.id)!=-1){ $get('UpdateProgress1').style.display=“block”; } $get('ParentDiv')。className='Background';
}

是否有必要在页面加载中提供这些内容???或者我可以按一下按钮吗??var manager=Sys.WebForms.PageRequestManager.getInstance();经理。添加_endRequest(endRequest);经理。添加_beginRequest(OnBeginRequest)@kk1076数组必须是全局变量(可在每个函数中访问)。因此,您需要将其附加到
页面加载
函数中的
窗口
对象