【问题标题】:AsyncPostBackTrigger isn't working with simultaneous update callsAsyncPostBackTrigger 不适用于同时更新调用
【发布时间】:2009-08-25 20:16:44
【问题描述】:

我有一个包含一些 UpdatePanel 的页面,每个都有自己的按钮来更新它。由于更新例程可能需要一些时间,我认为将它们设为异步将有助于逐步加载页面。

但是这样做,当我以编程方式触发每个面板的更新例程时,我只会更新最后一个 UpdatePanel。

这是一个代码示例,带有两个 UpdatePanel。要求必须在客户端 pageLoad 函数上触发更新例程。

这是一个错误还是我在代码中遗漏了什么?

谢谢 =)

<asp:UpdatePanel ID="Panel1" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
    <asp:TextBox ID="Text1" runat="server" />
    <asp:Button ID="Button1" runat="server" />
  </ContentTemplate>
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
  </Triggers>
</asp:UpdatePanel>

<asp:UpdatePanel ID="Panel2" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
    <asp:TextBox ID="Text2" runat="server" />
    <asp:Button ID="Button2" runat="server" />
  </ContentTemplate>
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
  </Triggers>
</asp:UpdatePanel>

以及客户端代码:

function pageLoad()
{
  $('#Button1').click();
  $('#Button2').click();
}

【问题讨论】:

    标签: asp.net asynchronous updatepanel ajaxcontroltoolkit


    【解决方案1】:

    原因如下:

    默认情况下,当一个页面生成多个 同时进行异步回发 时间,最近进行的回发 优先。

    http://www.asp.net/ajax/documentation/live/tutorials/ExclusiveAsyncPostback.aspx

    这里有一个解决方案:
    Handling Multiple Asynchronous Postbacks

    【讨论】:

      猜你喜欢
      • 2013-08-10
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 2014-08-09
      • 2014-03-15
      • 2017-03-19
      相关资源
      最近更新 更多