2010-04-01 1 views
0

때때로 페이지를 업데이트하기 위해 CTRL + REFRESH BUTTON (또는 단순히 새로 고침 단추)을 눌러야합니다. 이것은 AJAX Update Panel 및 사물을 사용할 때 문제가 될 수 있다고 생각했지만 AJAX 부분 렌더링이없는 페이지에서도 발생합니다. 나는 또한 if (! isPostBack)를 삭제했지만 아직 내용을 업데이트하기 위해 페이지를 새로 고침해야합니다.페이지가 ASP.NET에서 자체 캐시를 해제하지 못함 C#

캐시와 관련이 있습니까?

누구에게도이 문제에 대한 해결책이 있습니까? 나는 그것이 IE 7 (내가 사용하고있는 것)에서만 일어난다 고 생각한다. Chrome에서 동일한 기능을 시도했지만 예상대로 작동했습니다.

편집 : Unfortuanetly, 페이지로드시 항상 최신 페이지를 다시 검색하는 IE 또는 IE에 헤더를 캐시하도록 설정하는 것만 큼 쉽지 않습니다. 나는 이것들을했고 같은 문제가 발생한다.

예를 들어, 내 사이트의 한 부분에서 프로필 사진을 변경할 수 있습니다. 프로필 사진 (기본 사진으로 설정해야 함)을 제거하면 사진 만 삭제되지만 기본 사진은 표시되지 않습니다. 페이지가 다시로드되지만 내가 삭제 한 그림을 계속 참조합니다 (그래서 그림이 X로 표시됨). 다른 페이지로 이동 한 다음 기본 페이지를 보려면 프로필 페이지로 돌아 가야합니다. CTRL + REFRESH도 작동합니다.

이 특정 문제는 모든 브라우저 (Chrome 포함)에서 발생합니다.

도움이 될 경우 마스터 페이지에있는 콘텐츠 페이지를 사용하고 있습니다.

답변

0

Ctrl + 새로 고침은 IE가 로컬 캐시 된 버전을 사용하는 대신 서버에서 페이지를 다시로드하도록합니다. 먼저 브라우저의 설정 (설정 - 일반 - 검색 기록)을 확인하십시오. "저장된 페이지의 최신 버전 확인"이 "자동"으로 설정되어야합니다. 그런 다음 페이지에 '만료'헤더를 추가하는지 확인하십시오.

1
로컬로 문제가 해결됩니다 브라우저 캐시 설정 변경

하지만, 일반적인 경우를 수정하려면 아웃 바운드 페이지에 "Expires : 0"헤더를 추가하면 브라우저가 캐싱하지 않습니다.

는 페이지로드 이벤트에 코드를 추가, C#에서이 작업을 수행하려면

Response.AddHeader("Expires", "0"); 
+0

을 시도했지만 작동하지 않습니다. 업데이트 된 질문보기 – waqasahmed