在asp.net中预加载

时间:2011-09-28 22:26:18

标签: jquery asp.net ajax animated-gif preload

我真的想在asp.net中如何预加载? 例如,当单击按钮时,会出现一个动画gif,几秒钟后会出现一个面板或div! (就像在Facebook的很多地方)
我怎么能在asp.net中做到这一点? (是否需要jquery来完成这项工作?如果是,哪些插件?)

1 个答案:

答案 0 :(得分:1)

首先是在即将加载的页面

 protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        pnlLoading.Visible = true;
    }

当我有更新面板时,我使用Update Progress自动处理它。

第三个是使用jQuery的ajax调用。 当我即将进行ajax调用时,我使用此

$('#<%=updProgress.ClientID %>').css("display", "block");

当ajax调用完成后,我使用了这个

 $('#<%=updProgress.ClientID %>').css("display", "none");

以下是标记中的加载指示符。这两个放在身体标签后面。

  <asp:Panel ID="pnlLoading" runat="server" Visible="true">
    <div class="progressBackgroundFilter">
    </div>
    <div class="processMessage">
        <img src="/_layouts/Img/ajax-loader.gif" alt="Loading" />
    </div>
</asp:Panel>
<asp:UpdateProgress ID="updProgress" runat="server">
    <ProgressTemplate>
        <div class="progressBackgroundFilter">
        </div>
        <div class="processMessage">
            <img src="/_layouts/Img/ajax-loader.gif" alt="Loading" />
        </div>
    </ProgressTemplate>
</asp:UpdateProgress>

当页面加载时我使用

 $(document).ready(function () {
        var objdiv = $('#<%=pnlLoading.ClientID%>');
        if (objdiv) {
            objdiv.css('visibility', 'hidden');
        }
        $('#<%=updProgress.ClientID%>').css("display", "none");     
    });

希望这有帮助