【问题标题】:.NET UpdatePanel + LiveQuery.NET 更新面板 + LiveQuery
【发布时间】:2010-09-08 13:55:02
【问题描述】:

我使用 LiveQuery 来检测何时将元素添加到页面。该元素位于 .NET AJAX UpdatePanel 中。刷新 UpdatePanel 时,实时查询不会检测到新元素。

        <asp:UpdatePanel runat="server">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="refresh" />
        </Triggers>
        <ContentTemplate>
            <a id="but1" href="#">Button 1</a> 
        </ContentTemplate>
    </asp:UpdatePanel>


 $('#but1').livequery(function(event) {
        alert('Button added');
    });

警报仅在页面首次加载时触发。不是在刷新 udpatepanel 时。

【问题讨论】:

    标签: asp.net jquery updatepanel livequery


    【解决方案1】:

    Live Query 仅在通过 jQuery DOM 操作机制进行更改时才能看到您的更改。在this answer 的类似问题中,我遇到了这个问题,并提出了一种基于轮询的解决方法。

    【讨论】:

      【解决方案2】:

      尝试将 jquery 代码包装在 pageLoad 中,如下所示:

      function pageLoad()
      {
          $(document).ready(function () {
              $('[id$=but1]').livequery(function(event) {
                  alert('Button added');
              });
          });
      }
      

      您需要在 ScriptManager 标记中添加 EnablePageMethods="true":

      <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多