2009-09-23 1 views
2

나는 여러 개의 DIV가있는 runat = "server"가있는 ASP.NET 웹 페이지를 가지고 있으며 그 안에 DB의 레코드를 보여줍니다. 표시되는 레코드/데이터의 일부가 거대합니다. div의 컨텐츠를 내 Page_Load 이벤트에로드하는 코드를 넣었습니다. 그러나 페이지가로드 될 때 몇 초 동안 빈 화면이 표시되고 페이지 내용이 표시됩니다. 나는 이것을 제거하고 싶다. 대신에 나는 전체 페이지 내용이로드 될 때까지 사용자에게 "Loading"메시지를 보여주고 싶다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?가장 좋은 방법은 ASP.NET 페이지가 내용을로드 할 때까지로드 메시지

일부 옵션은 내 마음에 온 있습니다

1 Response.Flush를 Response.Buffer가

2 jQuery의로드/아약스를 사용하여 콘텐츠를로드 페이지로드 event.Instead의 내용을로드하는 코드를 제거 document.ready

의 기능 중 하나는 당신은 좋은 오버레이 바쁜 메시지와 함께 UI를 잠글 수 있습니다

답변

3

이 문제를 해결하기 위해 나에게 내기 방법을 알 수 있습니다.

마크 업 부분 :

$(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 Plugin