来自Jquery的回发load() - ed内容

时间:2017-12-12 13:00:57

标签: javascript c# jquery asp.net ajax

首先是一些背景:

我有一个主要的Aspx页面(使用母版页),它包含几个Web用户控件。大多数控件都位于各自的更新面板中。

其中一个控件在加载前可能需要几秒钟,这会大大减慢整体加载时间。因此我决定使用Jquery的load()方法加载此控件。

 <script type="text/JavaScript">
       $(document).ready(function () {
       $("#divContent").load("newPageWithControlInside.aspx #container", 
           function () {
              $("#imgSpinner").hide();
              $("#divContent").show();
           });
       }; 
</script>


 <asp:UpdatePanel ID="UpdatePanelDetails" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
       <div id="divWrapper">
         <img id="imgSpinner" src="ajax-loader.gif" alt="Loading..." />
         <div id="divContent" style="display: none"></div>
       </div>
    </ContentTemplate>
 </asp:UpdatePanel>


由于我无法弄清楚如何直接加载()Web用户控件,我将其插入到一个新的aspx页面(与Main相同的主页)。

这部分就像一个魅力..首先加载页面的其余部分,之后 调用jquery load()并成功加载页面/控件的内容。


现在问题出现了:

用户控件包含带有多个按钮的更新面板。这些按钮触发回发,加载其他数据。到目前为止,这部分也在工作,回发经历,数据加载和更新面板更新(至少在调试期间代码隐藏)。

但是当我查看页面时,用Jquery加载的页面/控件的整个内容突然消失了。在jquery load()事件被触发之前,imgSpinner显示为divContent隐藏在它的基本(首次请求)状态。

回发期间加载的其他数据只是消失了,因为没有相应的控件可以填充。

我犯了一些错误吗?或者这是将客户端内容加载与服务器端回发事件处理相结合的结果?如果它是第二个,我怎样才能达到预期的效果?



更新: 提到问题:After Post Back my jQuery code not working 不是我的问题的重复。回发后我的Jquery没有问题。我的问题是处理更新面板状态的丢失。

1 个答案:

答案 0 :(得分:0)

发现,我需要使用(隐藏)按钮作为动态创建按钮的回发调用者。

由于这不是我想要解决的问题,因此我转而使用IFrame作为一种更简单的解决方案。

相关问题