2

我有一个 ASP.NET 网页,其中有几个 DIV(带有 runat="server"),并且我在其中显示来自 DB 的记录。有时要显示的记录/数据的数量会很大,我已经把在我的 Page_Load 事件中加载 div 中的内容的代码。但是当页面加载时,我看到一个空白屏幕几秒钟,然后显示页面内容。我想消除这个。相反,我想向用户显示“正在加载”消息,直到整个页面内容加载。做这个的最好方式是什么 ?

我想到的一些选择是

1 响应.刷新响应.缓冲区

2 移除页面加载事件中加载内容的代码。改为在document.ready上使用jQuery的load/ajax函数加载内容

谁能告诉我解决此问题的最佳方法

4

1 回答 1

3

您可以使用漂亮的叠加繁忙消息锁定 UI。

标记部分:

$(function() { // when document has loaded

    ($.unblockUI); //unlock UI

    //Show busy message on click event and disable UI
    $('#btnHelloWorld').click(function() {
    $.blockUI({ message: '<h4><img src="busy.gif" />Please wait...</h4>' });

    });

});

<asp:Button ID="btnHelloWorld" runat="server" Text="Hello World" /><br/>

背后的代码:

   Protected Sub btnHelloWorld_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnHelloWorld.Click
        Label1.Text = "Hello World"
        Threading.Thread.Sleep(5000)
    End Sub

查看jQuery BlockUI 插件

于 2010-08-04T21:37:01.837 回答