質問

Microsoft Ajax JavaScriptフレームワーク方式でスローされている次のエラーをトラブルシューティングする方法WebフォームAPP(Sitefity 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"関数AjaxはJavaScriptクラスのインスタンスを作成します。マイクロソフトは、JavaScriptオブジェクトを向き向くする方法について独自の意見を持っていて、時間が表示されていたので、彼らのアプローチは完璧ではありませんでした。

とにかく、何が起こっているのかを説明しようとするために、私に概要を少ししてください。 iscriptControl GetScriptDescriptorsとGetScripTreeferencesの2つのメンバーを義務付けるインタフェース。 2番目のものはかなり簡単です - それはあなたがコントロールするすべてのJavaScriptファイルへの参照を登録することができます。一方、GetScriptDescriptorsは、使用するJavaScriptクラスのすべてのインスタンスを定義しましょう。また、プロパティを設定できます。

あなたが貼った自動生成されたJavaScriptコードが、基本的には、GetScriptDescriptorsで定義していることは、 "SiteFityWebApp.esd.thelab.samplehtmlockdesigner"のインスタンスが必要な場合は、エディタプロパティを初期化する必要があります。このコードは、次のようなJavaScriptコンストラクタを探します。

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

}
.

それはおそらく、プロトタイプも定義されています。

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

}
.

今、州が述べたエラーになったので:「不定またはNULL参照のプロパティ '' FancyBlockDesigner 'を取得できません」、おそらく次のいずれかが問題です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top