2011-09-08 3 views
0

내부에 javascript가있는 usercontrol이 있습니다. 나는 그것을 ASP.NET Ajax가 활성화 된 페이지로 사용하고있다. 대부분의 시나리오에서 잘 작동하지만 첫 번째 요청에서 usercontrol의 인스턴스가 표시되지 않고 Ajax 포스트 백을 통해 표시되는 경우 자바 스크립트가 실행되지 않습니다. 어떤 도움이 필요합니까?ASP.NET Usercontrol + Javascript

+2

당신이 코드의 일부를 제공 할 수 있습니다 보여 숨기려면? –

답변

0

사용자 컨트롤 visible="false"을 설정하면 해당 컨트롤의 내용이 렌더링되지 않고 대신 style="display:none"을 사용하여 컨트롤 내용이 렌더링되는 방식으로 컨트롤을 숨 깁니다.

+0

헤이 @bobby, 물어봐 줘서 고마워. 맞습니다. 그러나 컨트롤이 보이지 않는 컨테이너 안에 있으면 어떻게 될까요? 우리는 같은 문제를 안고 우리는 전체 계층을 제어 할 수 없습니다. 그래서 모든 자바 스크립트를 파일로 옮겼습니다. 나는 이것이 최선의 해결책이 아니라는 것을 알고 있지만 그것은 우리를 위해 일했습니다. 감사! – fcaldera

+0

보이지 않는 컨테이너 안에있는 컨트롤은 아무 관계없이 렌더링되지 않습니다. 나는 유사한 js 함수들을 표현할 수 있도록'style = 'display : none''을 사용하여 보이지 않는 컨테이너 외부의 두 번째 컨트롤을 갖는 비슷한 문제를 겪었습니다. 당신 것 같이, 그것은 최선의 해결책은 아니지만 작동합니다. 업데이트 주셔서 감사합니다. –

0

Control1.Visible = false;을 사용하면 컨트롤이 페이지에 전혀 렌더링되지 않습니다.

사용중인 비동기 포스트 백이 전체 페이지를 다시 렌더링하지 않습니다. 귀하의 컨트롤이 자바 스크립트를 렌더링하지 않습니다 페이지에 자바 스크립트를 주입했다면.

귀하의 통제가 신속하고 지저분한 작업으로 해결됩니다.

Control1.Attributes.Add("style", "display:none;") Control1.Attributes.Add("style", "display:block;")

+0

Biff MaGriff에게 감사드립니다. firts 게시물에 대한 내 의견을 확인하십시오. – fcaldera