2012-05-11 3 views
2

페이지가로드 될 때 "로딩"표시기를 표시해야합니다. 페이지 뒤의 코드에서 다른 서버의 데이터를 가져오고 목록보기를 바인딩합니다. 업데이트 패널을 사용하지 않고 아약스를 통해 데이터를 가져 오지 않습니다. 페이지를로드하는 데 오랜 시간이 걸리므로 어떻게 "로드 중"표시기를 표시 할 수 있습니까?ASP.net에서 페이지로드 표시 방법을 표시하는 방법?

미리 감사드립니다.

+0

경우 , 준비 기능에 대한 문서 내에서 숨겨진 것으로 설정된로드 div를 가질 수 있습니다. –

답변

5

로딩 GIF가있는 포함 div를 가운데에 만듭니다. 아약스 요청을 시작하면 아약스 요청이 완료되었을 때 예를 들어 jquery와 함께 표시합니다. 숨기면 요청을 숨 깁니다.
그것은/다음과 비슷한 모습이 될 것입니다 수 : 로딩 표시기를 보여
코드 :

$('#busy-holder').show(); 

사업부 :

<div id="busy-holder" style="display: none"> 
    <div id="busy"> 

    </div> 
</div> 

CSS :

페이지가 실제로로드
#busy 
{ 
    position: fixed; 
    left: 50%; 
    top: 50%; 
    background: transparent url("loader.gif"); 
    z-index: 1000; 
    height: 66px; 
    width: 66px; 
} 

#busy-holder 
{ 
    height:100%; 
    width:100%; 
    position:fixed; 
    left:0; 
    top:0; 
    display: none; 
    filter: alpha(opacity=30); 
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30); 
    opacity:0.3; 
    -moz-opacity: 0.30; 
    z-index: 1000; 
} 
+0

감사합니다. 그러나 한 가지 문제는 아약스를 통해 데이터를 가져 오지 못한다는 것입니다. 페이지로드의 코드 뒤에 데이터가 나타납니다. –

+0

잘못된 것이 아니라면, html이 서버 컨트롤에 의해 완벽하게 구축되지 않았기 때문에이 작업을 수행 할 수 있을지 의심 스럽습니다. –

+0

아약스를 사용하지 않으므로 페이지가 즉시 리디렉션됩니다. 이렇게하면 모든 gif가 회전하지 않게되지만 gif가 표시된 컨테이너를 계속 표시 할 수 있습니다. 그냥 버튼에 onClientClick을 놓고 거기에서 $ ('# busy-holder'). show()를 호출하면됩니다. – Kristof

관련 문제