2013-09-26 8 views
0

업데이트 패널 내에 타이머 컨트롤이 있으며 타이머가 일부 javascript를 실행해야합니다. 뒤에UpdatePanel에서 타이머 컨트롤을 위해 javascript를 실행할 수 없습니다.

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 

    <asp:UpdatePanel ID="ImagePanel" runat="server" UpdateMode="Conditional"> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /> 
     </Triggers> 
     <ContentTemplate> 
      <asp:Timer ID="Timer1" runat="server" OnTick="SlideImages" Interval="4000"></asp:Timer> 
      <div id="slideshow" runat="server"> 
       <div runat="server" id="currentImageDiv" class="current"> 
        <img id="currentImage" src="" runat="server" class="slideImage current" /> 
        <asp:Label runat="server" id="currentImageCaption" CssClass="caption"></asp:Label> 
       </div> 
       <div runat="server" id="nextImageDiv" class="next"> 
        <img id="nextImage" src="" runat="server" class="slideImage next" /> 
        <asp:Label runat="server" id="nextImageCaption" CssClass="caption"></asp:Label> 
       </div> 
      </div> 
      <asp:HiddenField runat="server" ID="slideIndexField" Value="1"/> 
     </ContentTemplate> 
    </asp:UpdatePanel>  

코드 :

protected void SlideImages(object sender, EventArgs e) 
{ 
    ScriptManager.RegisterStartupScript(
      Timer1, 
      Timer1.GetType(), 
      "SlideImages", 
      @"<script src='Scripts/jquery-1.10.1.min.js' type='text/javascript'></script> 
      <script type='text/javascript'> 
       alert('script executed'); 
      </script>", 
      true); 
} 

그러나이 작동하지 않는 것, 내가 무엇을 변경해야합니까?

답변

0

아야 호출 할 수는 실수 RegisterStartupScript의 마지막 매개 변수했다 : 내가 가지고 있기 때문에이 거짓로 설정해야합니다 이미 포함 된 스크립트 태그.

0

당신은 Sys.WebForms.PageRequestManager.instance. End Request event

에 핸들러를 추가하고 직접 클라이언트 측 기능

var prm = Sys.WebForms.PageRequestManager.getInstance(); 
prm.add_endRequest(endRequestHandler); 

function endRequestHandler(){ 
alert('script executed'); 
}