ScriptControlDescriptor.Свойства AddProperty & Read-Only


Я создаю ASP.NET серверное управление с соответствующим клиентским API.

В моем методе 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: "строки" не являются записываемым свойством.

Следующий сеттер, по-видимому, требуется для того, чтобы оператор $ create присваивает "строкам" начальное значение:

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

Как я могу сделать свойство "rows" доступным только для чтения в клиентском API, если сеттеру требуется присвоить значение из вызова AddProperty?

1 4

1 ответ:

Простейшим методом было бы заставить set_rows игнорировать любые входные данные. Фактически это должно полностью остановить возникновение исключения и по-прежнему предоставлять свойству функциональность только для чтения.

set_rows: function(value)
{
    value = null;
},