문제

이 설정에 약간의 문제가 있습니다. 여기에 목록이 있습니다. .ascx 파일과 그들은 모두 컨트롤러 자체에 대한 계산 측면에서 다른 작업을 수행합니다. 그래서 내 .aspx 페이지를 클릭합니다 Ajax.ActionLink() 그리고 이것은 그것을 구체적으로 만들 것입니다 .ascx 클릭 한 항목을 기반으로 파일. 그 안에서 .ascx 그들 중 2 개를 해고 할 1-3 개의 이벤트는 onclick 이벤트와 1입니다 onload. 그만큼 onclick 이벤트 (S)는 I와 같은 컨트롤 이벤트에서 직접 하드 코드 할 수 있다는 관점에서 작업하기가 더 쉽습니다. onclick="$("#toggleMe3").slideToggle("slow");" 그리고 onload 할 때 실행해야합니다 .ascx 로드됨에 따라 나는 이것을 a에서 테스트하고 있었다 $(document).ready(function(){}); 전화, 이것은 잘 작동합니다 .aspx 페이지하지만 내가 그것을 추가하려고하자마자 .aspx 페이지가로드되지 않고 이것이 효과가있는 이상이지만 왜 그렇지 않은지 모르겠습니다. 실제로 스크립트 태그에서 직접 삽입하면 아무것도 작동하지 않습니다. .ascx 페이지는 통제 이벤트에 하드 코딩 된 경우에만 작동합니다. 그만큼 onload 그리고 onprerender 발사하지 마십시오.

도움이 되었습니까?

해결책

$ (Document)에 지정된 부분 포스트 백 스크립트가 발생한 후에도 같은 문제가있었습니다. 준비가 실행되지 않았습니다. 여기서 해결책을 찾았습니다 MSDN -PAGEREQEESTMANAGER 클래스

아래와 같이 스크립트를 추가하는 것처럼 보입니다. 문제가 해결됩니다.

<script type="text/javascript">
  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myReadyFunction);
</script>

다른 팁

XHR을 통해로드되는 부분에서 $ (Document)를 사용하여 성공했습니다. JavaScript 예외를 던지는 XHR을 통해로드하는 견해가 있습니까? 아니면 기형 HTML을 포함합니까?

나는 일반적으로 ajax를 통해로드하는 부분의 맨 아래에 $ (document) .ready 메소드가 있습니다.

<script type="text/javascript">
$(document).ready(function(){ callMyFunction(); });
</script>

나는 당신의 질문을 이해하는 데 어려움을 겪었습니다. 그러나 여기서 간다.

Ajax 호출을 사용하여 날짜를로드하는 경우 페이지가 이미로드되었으므로 $ (document) .ready () 이벤트가 시작되지 않습니다. 당신은 지금 더 많은 데이터를로드하고 있습니다.

컨트롤을 이미 알고 있다면 Apear, JavaScript를 미리로드하지만 Click Event Handler를 사용하여 바인딩하는 대신 라이브 핸들러를 사용하십시오.

그래서

$("#myControl").click(....);

로 변합니다

 $("#myControl").live("click", ....);

이것이 당신이 찾고 있던 것이 아니라면 죄송합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top