2010-08-18 5 views
0

저는 일부 AJAX 마법으로 ASP.NET 웹 프로젝트를 진행하고 있습니다. 내 GridView의 데이터를 수집하는 데 최대 15 초가 필요하므로 클라이언트에 페이지를 보내고 jQuery/JScript (아래 참조)를 통해 UpdatePanel의 비동기 업데이트를 시작합니다.ASP.NET/jQuery 포스트 백, 브라우저의 "뒤로"버튼을 사용하지 않을 때

이것은 지금까지 잘 작동합니다. 이제 사용자가 다음 페이지 (예 : 레코드 세부 정보보기)로 이동하여 '뒤로'버튼을 통해 돌아올 때이 단계를 건너 뛰고 싶습니다. 그 사람을 사귈 수있는 방법이 있습니까? 가장 우아한 사람은 무엇입니까?

이 하나가 작동하지 않습니다 (hasDonePostBack의 값은 브라우저에 의해 유지되지 않음) :

var hasDonePostBack = false; 
function fRefreshAsyncOnce(id, param) { 
    $(document).ready(function() { 
     if (!hasDonePostBack) { 
      __doPostBack(id, param); 
      hasDonePostBack = true; 
     } 
    }); 
} 

어떤 도움도 좋을 것!

이것이 중요한 이유 : 데이터를 다시 만드는 데는 15 초 가량 걸립니다. 또한 그리드는 컨트롤과 더 많은 클라이언트 스크립트 (예 : 체크 할 수있는 체크 박스, 토글 된 CSS 클래스 등)로 작업하고 있으며, 모든 것은 돌아온 후에 동일해야합니다.

건배, 마티아스

답변

1
당신은 역사 포인트 기능을보고 할 수 있습니다

; 이 기능을 이용하면이 기능을 이용할 수 있습니다 : http://msdn.microsoft.com/en-us/library/cc488548.aspx

그러나 이것은 클라이언트 측 작업을 트리거 할 때 짐승의 본질입니다 ... 다른 옵션은 사용자가 포스트 백을 취소 할 수있게합니다. 이 기술을 사용하여 직접 취소 할 수있는 방법을 해석하십시오. http://msdn.microsoft.com/en-us/library/bb398789.aspx

+0

감사합니다. Brian, 내 코드의 일부분을 리팩토링해야하는 것처럼 보입니다. 나는 그것을 볼 것이고, 나는 또 다른 글을 쓸 것이다. –