2012-05-22 4 views
-1

페이지로드에 시간이 많이 소요되는 페이지가 있습니다 (실제로는 그게 전부입니다). 괜찮은 메시지를 사용자에게 제시 한 다음 프로세스가 실제 결과와 함께 완료되면이를 바꿉니다.페이지로드시 JQuery 효과

긴 프로세스가 끝난 후에 렌더링 할 UI를 만들려고 할 때마다 도움이되지 않습니다. UpdatePanel을 사용하여 페이지를 렌더링 한 다음 클라이언트에서 업데이트를 실행하려고 시도했지만 작동하지 않습니다.

누군가 내게이 작업을 수행하는 방법에 대한 단서를 줄 수 있습니까?

감사

+0

다음 중 하나를 선택하여 다음 중 하나를 선택하십시오. 최고의 의견을 보내거나 피드백을 제공하십시오. – lucuma

답변

3

나는 다음 당신이 좋을 것 :

  1. 는 당신이 그것을로드하는 동안 표시 할 무엇이든 보여줍니다 새 페이지를 만듭니다. 로딩 그래픽 또는 기타. AJAX 통해
  2. 는 현재 페이지를 호출하고 당신이 당신의 성공의 그래픽 로딩 아이콘 또는 HTML을 대체 할 수 반환 아약스 호출 한 페이지에서 1.
  3. 로 돌아가 원하는 success 또는 failure 또는를 반환해야합니다.

HTML 페이지 1 : <div id="content"><img src="images/loading.png" alt="loading" /></div>

jQuery를 :

$.ajax({ 
    type: "GET", 
    timeout: 30000, // set accordingly 
    url: "/some/url", // this is the page that will do all the work 
    beforeSend: function() { 
     // do some stuff 
    }, 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
     alert("An error has occurred making the request: " + errorThrown); // if there was an issue 
    }, 
    success: function() { 
    $('#content').html('Success!!'); // change icon or what you need to do. 
    } 
    }); 

내가 제대로 코드를 포맷 할 수있는 UI를 얻을 수 없습니다. Jquery ajax reference : http://api.jquery.com/jQuery.ajax/

+1

나는 그 URL을 페이지가 아니라 코드 숨김으로 만들 것이다. 유일한 목적은 일을하고 사용자에게 아무 것도 표시하지 않기 때문이다. – mgnoonan

+1

그냥 여기에 더 많은 정보를 추가하는 것은 좋은 작은 기사입니다 : http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/ – lucuma

0

ready handler에서 jQuery BlockUI plugin을 사용할 수 있습니다. 차단하고 처리 한 다음 차단을 해제하십시오.

클라이언트로 많은 양의 데이터가 유입되면 준비 핸들러가 시작되어 페이지가 차단되기 전에 불편할 수 있습니다. 따라서 또 다른 전략은 페이지를 포함하는 <div>입니다. "기다려주십시오,로드 중입니다"메시지가 표시됩니다).

+0

나는이 문제가 백엔드 문제라고 믿습니다. (.net) 페이지로드가있는 것은 html이 실제로 클라이언트에게 전송되기 전에 발생하는 장기 실행 프로세스를 수행합니다. 이는 OP가 아마 페이지를 2 개의 다른 프로세스/페이지 (로딩 및 worker/webservice). – lucuma

0

ASP.NET WebForms를 사용하는 경우 UpdatePanel 및 UpdateProgress를 사용하여 무언가가로드되는 동안 이미지를 표시 할 수 있습니다. updateprogress 컨트롤을 updatepanel 컨트롤로 지정하면됩니다. UpdateProgress는 이미지로드 및 기본 컨텐츠 및 컨트롤을 업데이트합니다. 그러나 UpdateProgress 및 UpdatePanel은 Microsoft에서 작성한 추악한 도구이므로 jQuery를 사용하여 실제 AJAX 호출을 강력하게 권장합니다 (더 많은 작업이 필요함)