2011-10-03 2 views
0

가능한 중복 :
how to call a javascript fn in Update panel on Partial postback in asp.netAsp.net 페이지 수명주기 오류,

업데이트 패널이 다시 부분적으로 게시물을하고있다, 나는 내가 할 방법을 부르는 Timer_Tick 방법을 그래프에 대한 일부 계산을 위해 데이터 바인딩 및 updatepanel onLoad. 나는 그래프 페이지가로드, 4 초 후에 업데이트 패널 업데이트가 r.init가 호출되지 않을 때 그래서 그래프가 표시됩니다

window.onload = function() { 
     r.init(); 
    }; 

을 그리는 자바 스크립트 를 사용합니다. 나는 많은 것을 시도했다. 그래프가 사라집니다. 페이지 부분 포스트 백 다음에 JavaScript를 실행하는 방법에 대한 예제를 누군가에게 줄 수 있습니까?

<asp:UpdatePanel runat="server" ID="Holder" OnLoad="Graphstats" UpdateMode="Always" ChildrenAsTriggers="True"> 
       <ContentTemplate> 
... 
        <asp:Timer ID="Timer1" runat="server" Interval="3000" OnTick="Timer_Tick" /> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
+0

: http://stackoverflow.com/questions/7636904/how-to-call-a-javascript-fn-in-update-panel-on-partial- postback-in-asp-net –

답변

0

Timer_Tick 내에서 RegisterStartupScript를 사용하여 렌더링 할 때 스크립트를 다시 호출하도록 설정해야한다고 생각합니다.

string script = "<script type=text/javascript>r.init();</"; 
script+= "script>"; 

Page.ClientScript.RegisterStartupScript(this.GetType(), "GraphInit", script); 

ClientScriptManager.RegisterStartupScript

0

귀하의 사이트가 ASP를 가지고 : 스크립트 관리자. 이 컨트롤은 Javascript의 PageRequestManager 객체와 통신합니다. 코드로 모든 업데이트 패널 통신에 연결할 수 있습니다. initializeRequest

    • beginRequest
    • 대해 EndRequest
    • 내가 pageLoaded 당신의 접근 방식에 대한 최고라고 생각
    • pageLoading

    pageLoaded.

    코드를 확장하여 코드를 최적화하기 위해 어떤 컨트롤이 게시물의 원인인지 확인할 수 있습니다.

    MSDN : Sys.WebForms.PageRequestManager이 거의 동일