1

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

由于该部分需要一些时间来加载,我想在页面的其他部分加载后加载它。

我可以使用正常的AJAX,也可以使用ASP.Net AJAX后者,因为我想尝试一下。

我发现我UpdatePanel的总是加载。

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

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

但我仍然无法完成它。

所以,这是我的 2 个障碍,在页面开始时停止加载并在页面准备好时开始加载

4

4 回答 4

0

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

于 2012-06-27T09:45:09.347 回答
0

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

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

if(IsPostBack)
{
  //your long processing
}

现在使用AsyncPostBackTrigger进行 updatePanel 回发。

于 2012-06-27T09:46:32.373 回答
0

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

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


//In order to force loading
YourIdPanel.Update();
于 2012-06-27T09:57:16.790 回答
0
<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>
于 2012-08-02T05:59:56.633 回答