2013-06-05 2 views
1

.ascx 페이지에 jQuery 코드를 넣을 수 있습니까?ASP.NET 사용자 정의 컨트롤 페이지에서 jQuery를로드 중입니까?

ASP.NET 프로젝트에서 사용하는 사용자 정의 컨트롤이 있습니다. 해당 컨트롤의 여러 인스턴스는 default.aspx 페이지에서 무언가를 선택할 때 동적으로 만들어집니다. jQuery를 사용하여 해당 사용자 정의 컨트롤의 일부를 조작하고 싶습니다. 그러나 jQuery는로드되지 않는 것 같습니다.

내 MasterPage에서 jQuery 라이브러리를 참조합니다. 나는 나의의 default.aspx에서 다음 코드를 테스트하고 그것을 작동하지만, 내 ASCX 페이지 내에서 동일한 코드를 사용하면 내가 응답을 얻을 :

<script type="text/javascript" charset="utf-8"> 
    if (typeof ($) != 'function') alert('This component requires jQuery.'); 
    else $(function() { alert('The DOM is ready for jQuery manipulation.'); }); 
</script> 

어떤 아이디어?

Thx.

답변

0

masterpage에서 jQuery를 참조한 경우 .ascx로 액세스 할 수 있습니다.

이 코드를 $ (문서) .ready (function() {/ * 코드에 넣을 수 있습니까? * /}); ascx- 및 확인?

+0

예. 아무 반응이 없습니다. –

0

사용자 정의 컨트롤 .ascx에 JavaScript 또는 JQuery 코드 줄을 포함시키고 실행하려면 HTML 코드에 <script> 태그를 삽입하지 않아야합니다. 필요한 경우 JQuery 파일에 대한 참조를 삽입 할 때만 사용하십시오. Load 또는 UpdatePanel과 같은 ASP.NET 페이지 이벤트 사용자 정의 컨트롤은 반드시 .aspx 페이지에서로드가 완료 될 때와 같이 클라이언트 쪽 이벤트를 트리거하지 않습니다. 이를 얻으려면 ScriptManager.RegisterClientScriptBlock을 사용해야합니다. 샘플 성공하려면, 당신의 .ascx 컨트롤의 Load 이벤트에서이 코드를 설정 :

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ActivateJsSample", 
@"<script type = 'text/javascript'> 
if (typeof ($) != 'function') alert('This component requires jQuery.'); 
else $(function() { alert('The DOM is ready for jQuery manipulation.'); }); 
}); 
</script>", false); 

이 동기화 및 사용자 정의 컨트롤의 Load 이벤트 화재, 모든 시간을 불 것이다.

관련 문제