2012-03-29 5 views
2

나는 업데이트 패널에있는 컨트롤을 가지고있다. 내 javascript 코드가 updatePAnel이 업데이트 될 때마다 실행되기를 원합니다.ScriptManager.RegisterStartupScript에서 외부 js 파일을 사용하는 방법?

내가 이런 걸 사용

ScriptManager.RegisterStartupScript(this, GetType(), "my_script", "runFunction();", true); 

문제가 내 JS 코드가 큰 점이다를하고 난 JS 파일에 배치하고 파일을 사용하고 싶습니다. 내 코드에서 무엇을 변경해야합니까? 스크립트가 페이지에 렌더링 순서 스크립트에 의존해서는 안이 방법은, 초기 HTML에 스크립트를 렌더링 것

ScriptManager.RegisterClientScriptInclude(updatePanel, updatePanel.GetType(), "a_key", "myScript.js"); 

참고 :

답변

7

당신은 ScriptManager.RegisterClientScriptInclude 방법을 사용할 수 있습니다. http://msdn.microsoft.com/pt-br/library/bb337005.aspx


에서이 방법에 대한

더 그러나 스크립트가 다른에 의존하는 경우, 더 좋은 옵션이 대신 스크립트 몸을 전달하는 ScriptManager.RegisterStartupScript 방법을 사용하는 것입니다, 당신은 전체 <script> 태그를 통과해야 addScriptTags 플래그를 설정 마지막 매개 변수가 정의한 src 속성 전체 태그를 렌더링 할 수 있도록 false로 설정되어 있는지

ScriptManager.RegisterStartupScript(updatePanel, updatePanel.GetType(), "a_key", "<script type='text/javascript' src='my_script.js'></script>", false); 

참고 : 스크립트의 주소.

+0

귀하의 조언에 따라 코드가 변경되었지만 이상한 점은 이제 js 파일에 오류가 발생합니다. 같은 시간에 js 코드를 문자열처럼 전달할 때 OK입니다. – user1178399

+0

@ user1178399, 당신의 스크립트가 그 다음에 렌더링되는 다른 스크립트에 의존하는 것처럼 보입니다 (따라서 당신이 의존하는 객체가 아직 생성되지 않았습니다). 무엇을 해야할지 알고 싶다면 위의 보충 답변을 참조하십시오. – Raphael

+0

멋진데, 적어도 당신의 마지막 설명은 해결책을 찾기 위해 그물을 더 찾지 못하게했습니다. – karlis

관련 문제