지금까지이 문제에 대해 약간의 당황 스러움을 가지고있는 여러분 중 일부는 내 문제에 대한 조언을 드릴 수 있기를 바랍니다.비동기 UpdatePanel 포스트 백을 사용할 때 전체 페이지가 Chrome 및 Firefox에서 다시로드되는 이유는 무엇입니까?
저는 IE에서 잘 돌아가는 AJAX-enhanced 웹 사이트를 개발했습니다. Chrome 및 Firefox를 1 년 정도 사용하십시오. Timer 컨트롤을 사용하여 30 초마다 수신 메시지를 확인하고 잠재적 인 새 메시지를 표시하는 UpdatePanel을 업데이트합니다.
내 Firefox 사용자 중 몇 명이 30 초마다 페이지를 새로 고침한다는 불만을 토로합니다. 나는 내 자신이이 행동을 재현 할 수는 없지만 "30 초"- 설명을 주면 나는 타이머 해결책을 범인으로 저주했다.
하지만 지금은이 오류가 Firefox에서 발생한 것이 아니라 Google 크롬에서 직접 경험하고 있습니다. (그리고 내 두 대의 컴퓨터 중 하나에서만!) 매 30 초마다 페이지가 다시로드됩니다! 그러나 나는 Timer와 관련이 있다는 것을 발견했습니다. 왜냐하면 UpdatePanels 내의 서버에 대한 다른 모든 비동기 포스트 백이 전체 페이지를 다시로드하기 때문입니다.
이 오류는 필자의 경험으로는 Internet Explorer에서 경험하지 못했습니다.
내가 말했듯이, 이것은이뿐만 아니라 타이머 포스트 백 관련,하지만 아무도 관심의 경우 코드는 다음과 같다 : 나는 클라이언트 측에 문의 웹 사이트의 다른 장소에서
<asp:Timer runat="server" ID="MailCheckTimer" Interval="30000" OnTick="MailChecker_Tick"></asp:Timer>
<asp:UpdatePanel runat="server" ID="MailCheckerUpdatePanel" UpdateMode="Conditional">
<ContentTemplate>
<div class="newmail_box" runat="server" id="newmail_box">
<!-- Content stripped for this example -->
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="MailCheckTimer" />
</Triggers>
</asp:UpdatePanel>
__doPostBack
UpdatePanel과 관련하여 자바 스크립트에서 직접 함수. 이 호출의 일반적인 동작은 참조 된 UpdatePanel을 일부 내용으로 업데이트하는 것이지만 이제는 Chrome에서 전체 페이지를 새로 고칩니다. (그러나 다시하지 일관되게, 결코 IE에서)
(패널 내부) 클릭 버튼 후 내용을 새로 고침 같은 심지어 가장 기본적인 된 UpdatePanel 작업을 완전히 다시로드 페이지를 강제로 :
<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click"></asp:Button>
그리고 저를 더욱 괴롭히기 위해, 저는 공개 웹 사이트에서만 경험할 수 있습니다. 지역 개발 환경이 아니라 실제 원인을 찾아내는 것이 지루한 일입니다! :(
이런 일이 발생하는 이유가 뭘까요? 왜 그렇게 일관성? 내 UpdatePanel 디자인과는 그것을 했습니까? 또는 일부 비동기 된 UpdatePanel 콜백을 방지 파이어 폭스/크롬에서 일부 보안 설정을합니까?
어떤 도움 또는 아이디어는 매우 감사
안녕하세요, http : // blogs.visoftinc.com/archive/2007/09/23/asp.net-ajax-updatepanel-not-working-common-problems.aspx와 프로덕션 서버에서 오류가 발생했는지 확인하십시오. – keyboardP
제안 해 주셔서 감사합니다. 아래 답변에 설명 된대로 권한 부여 논리에서 원인을 찾았습니다 ... – Alex