2012-07-11 6 views
1

Visual Studio 2010에서 만든 ASP.NET 프로젝트가 있습니다. 프로젝트를 시작하기 위해 일반적인 "MY ASP.NET APPLICATION"페이지가 있습니다. 이후 일반 콘텐츠를 모두 제거하고 사용자의 요구에 따라 응용 프로그램을 작성했습니다.Asp.Net 브라우저에서 뒤로 버튼을 클릭하면 Page_Load가 적용됩니다.

내 default.aspx 페이지에서 이 UpdatePanel으로 묶여 있습니다. 사용자가 datagrid에서 행을 선택하면 새 페이지로 이동합니다. 모든 것이 정상적으로 작동하지만 사용자가 브라우저에서 뒤로 버튼을 클릭하면 일반 "MY ASP.NET APPLICATION"페이지가 다시 표시되므로 이전 캐시 된 버전에서 페이지를로드하는 것처럼 동작합니다.

나는 이것을 잠시 조사한 결과, Response에 캐시를 사용하지 말라고 말하면 사용자가 뒤로 버튼을 클릭하면 Page_Load이 누적됩니다. 그러나,이 일을 나를 위해 작동하지 않습니다. 새로 고침 버튼을 클릭하거나 F5를 입력하면 내 페이지가 성공적으로 다시로드됩니다. 내가 여기에 IE9를 사용하고하는 것은 내 마스터 페이지의 Page_Load에서 시도한 것입니다 : 또한

 Response.Cache.SetExpires(DateTime.Now.AddDays(-1)); 
     Response.Cache.SetValidUntilExpires(false); 
     Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     Response.Cache.SetNoStore(); 
     Response.Expires = -1441; 
     Response.ExpiresAbsolute = DateTime.Now.AddDays(-1); 
     Response.AppendHeader("pragma", "no-cache"); 
     Response.CacheControl = "No-cache"; 
     Response.AddHeader("cache-control", "no-store, no-cache, must-revalidate"); 

, 나는 마스터 페이지의 스크립트에서이 삽입 시도 :

<meta http-equiv="Expires" content="0"/> 
<meta http-equiv="Cache-Control" content="no-cache"/> 
<meta http-equiv="Pragma" content="no-cache"/> 
+0

아마도 문서의 시작 부분에 도움이 될까요? http://stackoverflow.com/a/11341116/109749 – jcolebrand

답변

1

오늘 아침 일찍 계산했습니다. 그것이 Ajax를 사용할 때 또 다른 문제가된다는 것을 알 수 있습니다. 사용자가 DataGrid에서 행을 선택했을 때 새 페이지로 리디렉션되기 전에 History Point를 추가하지 않았습니다. 그래서 리디렉션을 수행하기 전에 scriptmanager에서 AddHistoryPoint을 수행하기 만하면됩니다. 모두 잘 맞았습니다.

0

나는 것 두 가지가있다 ~으로 시작하십시오.

먼저 브라우저에서 인터넷 옵션> 인터넷 사용 기록 설정으로 이동합니다. "저장된 페이지의 최신 버전 확인"이 Never로 설정되어 있으면 자동으로 이동합니다.

둘째, 실제 파일 시스템 (비주얼 스튜디오가 아닌 파일 탐색기)을보고 파일이 실제로 있는지 확인합니다. 그렇다면 삭제하겠습니다.

+0

인터넷 옵션에서 설정을 변경하려고했지만 작동하지 않았습니다. 또한이 파일은 더 이상 파일 시스템에서 no입니다. –

관련 문제