2011-12-12 2 views
1

asp.net page_load 이벤트가 있습니다. 사용자가 브라우저의 뒤로 버튼을 클릭하면 page_load 이벤트에서 일부 값을 설정하려고합니다. 문제는 내가 페이지를 클릭하면 페이지가 캐시에서 렌더링되고 페이지로드 이벤트가 발생하지 않는다는 것입니다. 브라우저 캐시를 지우지 않고 page_load가 실행되도록하려면 어떻게해야합니까?브라우저의 뒤로 버튼에서 ASP.NET 이벤트가 발생했습니다.

+2

일반적으로 뒤로 버튼을 사용하면 안됩니다. 그것은 사용자의 브라우저에 속하며 응용 프로그램에는 속하지 않습니다. –

답변

2

나는 해결책을 내놓았다. 사실, 뒤로 단추는 서버 이벤트와 아무 관련이 없습니다. 페이지는 브라우저 캐시에서 직접 다시 할당됩니다. 그래서 내가 한 것은 페이지로드시 스크립트를 실행했지만 ASP 페이지로드가 아니라 자바 스크립트 페이지로드를 실행했기 때문입니다. 뒤로 버튼을 클릭 할 때마다 JS 페이지로드가 발생합니다.

2

내가 제대로 이해하면 다음과 같은 상황이 있습니다

  • 사용자의 방문 페이지 A.
  • 사용자는 사용자가 뒤로 버튼을 클릭하고 페이지 A는
  • 링크 및 방문 페이지 B.를 클릭
  • 다시 표시됩니다. 서버에서 다시 가져 오는 대신 브라우저 캐시에서 표시됩니다.

맞습니까? 이 경우 페이지를 no-cache로 표시해야합니다. Response.CacheControl 속성을 사용하면 응답의 http 헤더에 반환되는 캐싱 옵션을 결정할 수 있습니다.

관련 문제