1

JavaScriptオブジェクトを作成する関数は次のとおりです

      public IEnumerable<ScriptDescriptor>
          GetScriptDescriptors()
    {
        ScriptControlDescriptor descriptor = new ScriptControlDescriptor("HierarchyPathControl.PathExplorer", this.ClientID);
        descriptor.AddProperty("some_property", "some_value");

        yield return descriptor;
    }

これは.jsファイルの一部です

    Type.registerNamespace("HierarchyPathControl");

        HierarchyPathControl.PathExplorer = function (element) {
        HierarchyPathControl.PathExplorer.initializeBase(this, [element]);
        alert("invoked");

    }


  HierarchyPathControl.PathExplorer.prototype = {
       initialize: function () {

        HierarchyPathControl.PathExplorer.callBaseMethod(this, 'initialize');
        alert("not invoked");   

},
..............................

この行を削除した場合にのみ 2 番目のアラートが呼び出される理由:

    descriptor.AddProperty("some_property", "some_value");

ありがとう。

4

1 に答える 1

2

ページの初期化中にjsエラーが発生した場合は、エラーコンソールを確認してください。問題は、クライアント側のクラスでsome_propertyプロパティを定義しなかったことにあるようです。HierarchyPathControl.PathExplorerクライアント側クラス内にget/setメソッドの次の定義があることを確認してください。

get_some_property = function() {
    return this._some_property;
},
set_some_property = function(value) {

    if (this._some_property != value) {
        this._some_property = value;
        this.raisePropertyChanged('some_property');
    }
}

ここで基本的にsome_propertyは、作成するプロパティの名前である必要があります。

于 2012-11-14T20:52:24.270 に答える