문제

Microsoft Ajax JavaScript Framework 메서드에서 다음과 같은 오류를 해결하려면 어떻게해야합니까?웹 양식 앱 (사이트 정보 5 CMS)의 사용자 정의 사용자 컨트롤에서 자동으로 생성 된 JavaScript 라인입니다

오류 메시지 :

정의되지 않은 또는 null 참조의 'fancyBlockDesigner'를 얻을 수 없습니다

여기에 오류가 발생하는 JavaScript가 있습니다.

Sys.Application.add_init(function() {
    $create(SitefinityWebApp.Esd.TheLab.SampleHtmlEditor.FancyBlockDesigner, null, null, {"Editor":"propertyEditor_ctl00_ctl00_ctl00_ctl00_ctl00_Editor","propertyEditor":"propertyEditor"}, $get("propertyEditor_ctl00_ctl00_ctl00"));
});
.

ASCX 및 CS 파일을 나에게서 추상화하려고 시도하는 대신이 오류가 무엇을 의미하는지 알고 싶습니다.내가 세부 사항을 이해하면 추상화가 더 의미가있을 수 있습니다.

도움이 되었습니까?

해결책

"$ CREATE"기능 ASP.NET AJAX에서는 JavaScript 클래스의 인스턴스를 만듭니다. Microsoft는 JavaScript 객체를 지향시키는 방법에 대한 자신의 의견을 가지고 있었고 시간이 보이면서 접근 방식이 정확히 완벽하지 않았습니다.

어쨌든, 무슨 일이 일어나고 있는지 설명하려고 노력하고, 어떻게 그것이 작동하는지 조금만 알려주십시오. 우리는 IScriptControl 두 멤버 구성원을 요구하는 인터페이스 : GetScriptDescriptors 및 GetScriptReferences. 두 번째는 꽤 간단합니다. 제어 할 모든 JavaScript 파일에 대한 참조를 등록 할 수 있습니다. 다른 한편으로 GetScriptDescriptors는 사용하려는 JavaScript 클래스의 모든 인스턴스를 정의 할 수있을뿐만 아니라 속성을 설정할 수 있습니다.

붙여 넣은 자작 자바 스크립트 코드는 기본적으로 GetScriptDescriptors에 정의되어 있으며 Editor 속성을 초기화 할 "sitefinitywebapp.esd.thelab.samplehtmleditor.thelab.samplehtmleditor.thelab.samplehtmleditor.fancyblockDesigner"유형이 필요합니다. 이 코드는 다음과 같이 보이는 JavaScript 생성자를 찾습니다.

function SitefinityWebApp.Esd.TheLab.SampleHtmlEditor.FancyBlockDesigner(element) {

}
.

또한 대부분의 프로토 타입이 정의 된 것입니다 :

SitefinityWebApp.Esd.TheLab.SampleHtmlEditor.FancyBlockDesigner.prototype = {

}
.

이제는 다음과 같은 오류가 발생했기 때문에 "정의되지 않음 또는 널 참조의 FancyBlockDesigner '를 얻을 수 없으므로 대부분 다음 중 하나입니다.

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