4

クライアント側のAPIが関連付けられたASP.NETサーバーコントロールを作成しています。

GetScriptDescriptors()メソッドで、「rows」というプロパティを関連付けています。

descriptor.AddProperty("rows", this.IntRows);

クライアント側のAPIで、「rows」プロパティを読み取り専用にしたい...

MyControl = function(element)
{
    MyControl.initializeBase(this, [element]);
    this._rows;
}

MyControl.prototype =
{
    initialize: function()
    {
        MyControl.callBaseMethod(this, 'initialize');
    },

    get_rows: function()
    {
        return this._rows;
    },

    dispose: function()
    {
        MyControl.callBaseMethod(this, 'dispose');
    }
}

ただし、これにより次のエラーが発生します...

エラー:Sys.InvalidOperationException:'rows'は書き込み可能なプロパティではありません。

$ createステートメントが「行」に初期値を割り当てるには、次のセッターが必要なようです。

set_rows: function(value)
{
    this._rows = value;
},

セッターがAddProperty呼び出しから値を割り当てる必要がある場合、クライアント側APIで「rows」プロパティを読み取り専用にするにはどうすればよいですか?

4

1 に答える 1

0

最も簡単な方法は、set_rows に入力を無視させることです。事実上、これにより例外の発生が完全に停止され、プロパティに読み取り専用機能が引き続き提供されます。

set_rows: function(value)
{
    value = null;
},
于 2011-01-20T15:27:53.140 に答える