2009-04-09 4 views
1

사용하여 asp.net 타이머 제어 재 활성화 : UpdatePanel을 페이지에이가 ASP에 의해 연결되어비활성화 및 내가 ASP를 포함하는 ASP.Net 웹 페이지가 자바 스크립트

<asp:Timer ID="TimerRefresh" runat="server" Interval="5000" Enabled="true" OnTick="TimerRefresh_Tick"> 
</asp:Timer> 

타이머 제어를 따라서 페이지의 특정 부분이 비동기 적으로 새로 고쳐집니다.

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <div class="TopRow" id="TopRowPlace" runat="server"> 
     ... More HTML Code here... 
     </div> 
    </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="TimerRefresh" /> 
     </Triggers> 
</asp:UpdatePanel> 

문제는 그 숨길 수 있습니다 asychronously 업데이트되는 HTML을 포함하는 DIV 태그는 사용자가 certains 작업을 수행 할 때 (스타일에서 없음으로 표시 속성을 설정하여). 이 경우 콘텐츠가 업데이트되지 않아 업데이트 할 필요가 없습니다.

비동기 적으로 포스트 백을 수행하고 실제로 DIV 태그가 다시 표시 될 때 타이머를 사용하지 않도록 설정하는 JavaScript가 있습니까?

+0

같은 문제가 발생했습니다. –

답변

1

내 WebForm 중 하나에서 Timer로 BODY.onload 이벤트에 추가 된 JavaScript를 살펴 보았습니다. Timer의 속성을 재정의하고 클라이언트 측 JavaScript를 더 많이 사용하려는 경우가 아니면 수정하기가 쉽지 않다고 생각합니다. 사용자가 certains 작업을 수행 할 때 asychronously 업데이트됩니다

이 ... 숨겨진 (...)가 될 수 있습니다 는 그럼, 당신이 말할 때 당신의 DIV에 발생합니다.

서버에서 수행되는 작업이 있습니까? 그렇다면 DIV의 이벤트에 대한 응답으로 서버의 타이머를 비활성화 할 수 있습니다.
CheckBox가있는 WebForm에서 UpdatePanel을 얻었습니다. CheckBox AutoPostBacks 및 CheckedChanged 이벤트 처리기가 있습니다. CheckBox를 선택하면 Timer가 활성화되고 UpdatePanel의 내용이 매 Tick마다 업데이트됩니다. CheckBox가 선택되어 있지 않으면 Timer가 비활성화됩니다. AutoPostBack은 타이머가 비활성화 된 경우에도 작동합니다.
DIV에서 클라이언트 측 JavaScript를 사용하는 경우 AutoPostBack이 가장 쉬운 솔루션이라고 생각합니다.

관련 문제