繁体   English   中英

仅在页面准备好后才能加载ASP.Net Ajax UpdatePanel

[英]ASP.Net Ajax UpdatePanel to be loaded only after the page is ready

我正在使用ASP.Net AJAX UpdatePanel加载页面的右侧。

由于该部分需要花费一些时间来加载,因此我想在页面的其他部分加载之后进行加载。

我可以使用普通的AJAXASP.Net AJAX但我想尝试使用后者。

我发现我的UpdatePanel总是加载的。

我希望仅在页面准备好后才能加载它。

有人说使用计时器,有人说使用一些javascript。

但是我还是做不完。

因此,这是我的两个障碍,即在页面启动时停止加载和在页面准备就绪时开始加载

为什么不启用和禁用页面事件? 例如。 尝试在Page_PreLoad事件中,将更新面板的enable属性设置为False。 在Page_LoadComplete事件中,将其重新设置为enabled = true

UpdatePanels使用Ajax进行更新,而不是在首次加载时进行更新。

如果希望它在首次加载时快速加载,请避免任何昂贵的处理,也不要在加载数据库时调用数据库。 把它们放在一个

if(IsPostBack)
{
  //your long processing
}

现在,使用AsyncPostBackTrigger进行updatePanel回发。

尝试使用此代码(条件模式+更新方法)

<asp:UpdatePanel ID="YourIdPanel" UpdateMode="Conditional"                                  runat="server">


//In order to force loading
YourIdPanel.Update();
<script type="text/javascript">
    var currentItemID=$('#<%= labcurrentItemID.ClientID %>').html();
    if (currentItemID != null) {
        $(document).ready(function () { 
            $('#main_container').load('/Custom/Going%20Places/PopularRelatedArticle.aspx?currentID=' + currentItemID);
        });
    }
    else {
        $(document).ready(function () { 
            $('#main_container').load('/Custom/Going%20Places/PopularRelatedArticle.aspx?currentID={7F0811A7-D484-4675-8A23-0AEB235B9B5F}');
        });
    }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM