我正在使用ASP.Net AJAX
UpdatePanel
加载页面的右侧部分。
由于该部分需要一些时间来加载,我想在加载页面的其他部分后加载它。
我可以使用普通AJAX
或ASP.Net AJAX
,但我选择使用后者,因为我想尝试一下。
我发现我的UpdatePanel
总是被加载。
我希望它只在页面准备好后才能加载。
有人说要使用计时器,有人说要使用一些javascript。
但我仍然无法完成它。
所以,这些是我的两个障碍,在页面启动时停止加载并在页面准备就绪时开始加载
答案 0 :(得分:0)
为什么不启用和禁用页面事件?例如。尝试在Page_PreLoad事件中,将更新面板的enable属性设置为False。在Page_LoadComplete事件中,将其设置回enabled = true
答案 1 :(得分:0)
UpdatePanels使用Ajax进行更新,而不是首次加载。
如果您希望在首次加载时快速加载,请避免任何昂贵的处理,加载数据库调用。把它们放在
中if(IsPostBack)
{
//your long processing
}
现在使用AsyncPostBackTrigger进行updatePanel回发。
答案 2 :(得分:0)
尝试使用此代码(条件模式+更新方法)
<asp:UpdatePanel ID="YourIdPanel" UpdateMode="Conditional" runat="server">
//In order to force loading
YourIdPanel.Update();
答案 3 :(得分: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>