2010-03-02 3 views
2

페이지가 처음로드 될 때만 실행해야하는 내 페이지로드 이벤트에 일부 코드가 있지만 브라우저에서 '새로 고침'을 클릭 할 때마다 실행됩니다. 확인 중입니다. 포스트 백에 대해 :ASP.NET Page.IsPostBack

If not page.ispostback then 
' Code... 
End if 
+0

사용자가 페이지를 새로 고치는 이유와 코드가 첫 번째 히트에서만 실행되는 이유는 무엇입니까? –

답변

2

새로 고침는 포스트 백 (즉, 또 다른 GET의 일이 더 POST 없다)하지, 그것은 다시 한번 페이지를 요청하는 브라우저입니다. 이 경우 서버 관점에서 볼 때 새로운 요청입니다.

+0

어떻게 처리하나요? – burntsugar

+0

@ burnntsugar - 한 번만 실행하려고합니까? 어쩌면 또 다른 접근법이있을 수 있습니다. –

+0

새로 고침을 방지하고 PostBacks처럼 취급하고 싶어하는 것 같습니다. – hunter

0

IsPostBack 속성은 __doPostBack JavaScript 함수 호출로 생성 된 요청 만 검색 할 수 있습니다. ASP.NET은 요청 생성 방법을 알 수 없으므로 다른 모든 요청은 새 요청으로 처리됩니다.

__doPostBack 함수가 숨겨진 양식 필드를 채우기 때문에 ASP.NET 런타임은 요청이 게시 된 컨트롤에서 생성되었음을 감지 할 수 있습니다. 다른 모든 요청에는 이러한 숨겨진 필드가 채워지지 않으므로 런타임에서 해당 필드를 포스트 백으로 간주하지 않습니다.