2014-02-15 3 views
5

업데이트 패널에서 ajax 타이머 컨트롤을 사용하고 있습니다.ASP.NET 타이머는 디버그 모드에서만 작동합니다.

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick"></asp:Timer>    
     <asp:Label ID="Label1" runat="server" Text=""></asp:Label> 
    </ContentTemplate> 
</asp:UpdatePanel> 

타이머는 매초마다 현재 날짜 시간으로 레이블을 업데이트해야합니다.

protected void Timer1_Tick(object sender, EventArgs e) 
    { 
     Label1.Text = DateTime.Now.ToString(); 
    } 

모든 디버그 모드에서 잘 작동하지만 (CTRL + F5) 디버거없이 사이트 운영을하거나 내 서버에 사이트를 배포하는 경우 타이머는 체크하지 않습니다.

그러나 "debug = true"를 web.config에 추가하면 모든 것이 잘 동작합니다. 내 서버에서도.

<compilation targetFramework="4.0" debug="true"> 

Internet Explorer는 ScriptResource.axd에서 "개체가이 동작을 지원하지 않습니다."예외를 throw합니다.

이 문제를 어떻게 해결할 수 있습니까?

편집 : 나는 그것을 해결했다고 생각합니다.

나는 이유는 모르겠지만 두 가지가이 문제를 해결할 수 있습니다 : = "false"를 CombineScripts

으로 ToolScriptManager를 사용하여 ToolScriptManager

  • 대신에 ScriptManager를 사용

    • 을 이것이 버그인지 아닌지 전혀 모른다.

      누구나 설명 할 수 있습니다.

  • 답변

    2

    최신 AJAX Control Toolkit에 버그가있는 것 같습니다.이 오류를 직접 경험했습니다. 유일한 옵션은 이전 버전으로 다운 그레이드하는 것입니다.

    https://ajaxcontroltoolkit.codeplex.com/workitem/27639

    http://forums.asp.net/t/1962717.aspx?Timer+and+Script+Combining+w+ToolkitScriptManager 내가 다운 그레이드 및 테스트 할 수있을 때까지 디버그 모드에서 실행하는 데 현재의 문제를 해결합니다.

    0

    이것은 나를 위해 일했습니다.

    Using the ToolScriptManager with CombineScripts="false" 
    
    관련 문제