如何通过Microsoft Ajax JavaScript框架方法抛出以下错误进行故障排除?它是一种自动生成的JavaScript从Web窗体App(Sitefinity 5 CMS)中的自定义用户控件

错误消息:

无法获取未定义或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类的实例。微软对如何使JavaScript对象导向并且随着时间所显示的,他们的方法并不完美。

无论如何,尝试解释发生了什么,让我给了一点概述哦它是如何工作的。我们首先实现 iScriptControl 界面要求两个成员:getsptedEscriptors和GetScriptreferences。第二个非常简单 - 它允许您注册对所需的所有JavaScript文件的引用。另一方面,GetStpedDescriptors让我们定义要使用的JavaScript类的所有实例,并且它允许您设置其属性 - 如果您愿意,请初始化它们。

您粘贴的自动化的JavaScript代码基本上是您在GetSptedDescriptors中定义了您需要一个类型的“sitefinitywebapp.esd.thelab.samplehtmleditor.fancyblockdesigner”的实例,在其中要初始化编辑器属性。此代码将用于查找如下所示的JavaScript构造函数:

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

}
.

最可能还有一个原型定义的原型,如:

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

}
. 现在,由于您发布的错误状态:“无法获取未定义或空引用的属性”fancyblockdesigner“,最重要的是问题:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top