Я создаю ASP.NET Server Control со связанным клиентским API.
В моем методе GetScriptDescriptors () я связываю свойство, называемое «строки» ...
descriptor.AddProperty("rows", this.IntRows);
В моем клиентском API я хочу, чтобы мое свойство "rings "было доступно только для чтения ...
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;
},
Как я могу сделать свойство "rows" доступным только для чтения в клиентском API, если установщик должен присвоить значение из вызова AddProperty?