当listview填充时,如何在初始加载时显示加载动画?

时间:2012-03-28 15:57:49

标签: javascript asp.net telerik

我有一个带有iFrame的页面(带有MultiPageView的RadTabStrip),加载到iframe中的是另一个需要一段时间才能加载的RadListView页面。其他标签/ iframe也是如此。

我想要的是在列表视图渲染时显示动画gif。我已经尝试了一些东西,包括telerik ajax加载面板,但它似乎正在发生的是,即使在列表完成渲染之前也不会显示(它将保持空白10秒钟,然后我会看到装载机瞬间闪烁,然后列表就出现了。)

有人可以提供解决方案或帮助我理解为什么页面拒绝加载任何内容,直到列表视图完全呈现?

页面在加载列表时显示此内容。浏览器的“加载”指示器没有旋转,因为此页面“框架”已完全加载,而不是iframe内容:

enter image description here

然后只要它满载就会弹出:

enter image description here

1 个答案:

答案 0 :(得分:1)

我会尝试使用UpdateProgress控件。我不知道iframe是否会影响它,但是这样的事情应该指向正确的方向:

<asp:UpdateProgress ID="prgLoadingStatus" runat="server" DynamicLayout="true">
    <ProgressTemplate>
        <div id="overlay">
            <div id="modalprogress">
                <div id="theprogress">
                    <asp:Image ID="imgWaitIcon" runat="server" ImageAlign="AbsMiddle" ImageUrl="/images/wait.gif" />
                    Please wait...
                </div>
            </div>
        </div>
    </ProgressTemplate>
</asp:UpdateProgress>  

以下是样式,您可以根据需要调整不透明度:

#overlay {
    position: fixed;
    z-index: 99;
    top: 0px;
    left: 0px;
    background-color: #f8f8f8;
    width: 100%;
    height: 100%;
    filter: Alpha(Opacity=90);
    opacity: 0.9;
    -moz-opacity: 0.9;
}            
#theprogress {
    background-color: #fff;
    border:1px solid #ccc;
    padding:10px;
    width: 300px;
    height: 30px;
    line-height:30px;
    text-align: center;
    filter: Alpha(Opacity=100);
    opacity: 1;
    -moz-opacity: 1;
}
#modalprogress {
    position: absolute;
    top: 40%;
    left: 50%;
    margin: -11px 0 0 -150px;
    color: #990000;
    font-weight:bold;
    font-size:14px;
}