현재 ContentPlaceHolder 외부의 ContentPlaceHolder에서 객체를 참조하려고 할 때 자바 스크립트 오류가 발생합니다 (둘 다 동일한 하위 페이지에 있음).마스터 페이지를 참조 할 때 javascript 오류가 발생했습니다. ContentPlaceHolder
오류 : 마이크로 소프트의 JScript 런타임 오류 : 속성 '값'의 값을 설정할 수 없습니다 : 개체가 null이거나 정의되지
오류가 발생하는 스크립트 행은 다음과 같습니다
<input type="submit" name="Master$cphMainContent$btnUnregister" value="Proceed" onclick="document.getElementById('Master_cphHeadContent_TimeAlert').value = GetSeconds(); return ValidateProvider(1);" id="cphMainContent_btnUnregister" class="netButton" />
TimeAlert은 cphHeadContent ContentPlaceHodler의 숨겨진 개체입니다.
일반적으로 개체 (TimeAlert)가 호출 될 때 표시되지 않습니다. 그러나 이번에는 같은 페이지이므로 개체가 null이거나 정의되지 않은 이유를 알 수 없습니다.
이 오류를 해결하는 방법에 대한 제안 사항이 있으십니까?
당신이 말하는 컨트롤이 * id *를 정확히 지정 했습니까? 자바 스크립트를 사용할 때 스크립트에서 하드 코딩하지 말고 * ClientID * 속성을 사용하여 컨트롤을 참조하십시오. 자세한 내용은 http://msdn.microsoft.com/ko-kr/library/system.web.ui.control.clientid.aspx를 참조하십시오. 이렇게하려면 여기에 설명 된 ** <% = ** 및 ** %> **을 사용할 수 있습니다. http://stackoverflow.com/questions/7889035/inline-code-in-markup-page-in -asp-net-webforms. –
이것은 작동하도록되어있는 기존 코드입니다 (실행하고있을 때 작동하지 않는 것을 제외하고) – DotNetRookie
자바 스크립트에서 사용할 수있는 * id *는 컨트롤이 페이지의 구조에 어디에 종속되어있을 수 있습니다. 컨트롤의 * id *가 하드 코드되고 페이지 구조에서 무언가가 변경되면 컨트롤에 다른 * id *가 추가되어 코드가 작동을 멈출 수 있습니다. 브라우저의 오픈 페이지 소스에서이 * id *로 제어 할 수 있는지 확인하십시오. 그것이 없으면 * id *를 유효한 값으로 업데이트 할 수 있지만 대신 ** Control.ClientID **를 사용하면 더 나은 해결책이 될 수 있습니다. –