Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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 asp.net按钮导致两个post异步回发_Javascript_C#_Asp.net - Fatal编程技术网

Javascript asp.net按钮导致两个post异步回发

Javascript asp.net按钮导致两个post异步回发,javascript,c#,asp.net,Javascript,C#,Asp.net,此按钮导致两次回发 <asp:UpdatePanel ID="asdd" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:ImageButton ID="imgbtnNew" class="imgbtnNew" runat="server

此按钮导致两次回发

<asp:UpdatePanel ID="asdd" runat="server" UpdateMode="Conditional">
                                    <ContentTemplate>
                                        <asp:ImageButton ID="imgbtnNew" class="imgbtnNew" runat="server" CausesValidation="false"
                                            ImageUrl="~/Administrative/images/fullpage.gif" OnClick="imgbtnNew_Click" />
                                    </ContentTemplate>
                                </asp:UpdatePanel>

另一个问题是,只有在第二次加载页面时单击按钮时,才会发生此行为。它显示“开始”和“结束”请求的单个警报,但第二次单击按钮时,它显示“开始”请求的两个警报,而“结束”请求的两个警报均不显示,并且单击事件处理程序按其应执行的方式每单击一次。因此,第一次单击按钮时,按钮会正常工作,但之后不会

我终于明白了。添加了endRequest和beginRequest处理程序,但没有从PageRequestManager实例中删除,这就是为什么一次又一次调用begin请求的原因。EndRequest处理程序未执行,因为我在OnEndRequest方法中使用了get_postBackElement(),该方法引发了一个错误,导致请求未结束,更新进度控件持续显示

第二次出现错误时,请从第一次获取。打开javascript控制台,查看其内容。您可能有一些viewstate损坏,因为您没有“安装程序”来更正updatepanel的内容。@Ivan-函数pageLoad()在每次加载页面时都被调用。我的错误。。。。。。。args.get_postBackElement()不是endrequest的args中的方法。get_postBackElement只能在OnBeginRequest处理程序中使用。。谢谢@Aristos的建议如果你发现了你的错误,就把它作为一个答案——你可以在未来帮助别人future@Aristos-我认为唯一的问题是我在OnedRequest中使用了args.get_postBackElement()方法。但是在从OnedRequest中删除args.get_postBackElement()之后,第二次单击按钮时仍然不会调用OnedRequest。所以问题还是一样的。第二次单击时,按钮单击的行为不同。请帮忙
function pageLoad()
    {
    alert("Page load");      
       var manager = Sys.WebForms.PageRequestManager.getInstance();      
       manager.add_beginRequest(OnBeginRequest);
       manager.add_endRequest(OnEndRequest);
    }
    function OnBeginRequest(sender, args)
    {

      var postBackElement = args.get_postBackElement();
      alert("Begin" + postBackElement.id);          
   }
   function OnEndRequest(sender, args)
    {
    alert("end req caled!");
      var postBackElement = args.get_postBackElement();
      if (postBackElement.className == 'imgbtnNew')  
      { 
     $get('upc1').style.display = "block"; 
      }
   }