Я создаю ASP.NET Server Control с ассоциированным API на стороне клиента.ScriptControlDescriptor.AddProperty & Только для чтения Свойства
В моих GetScriptDescriptors() метод я ассоциирование свойства «строка» ...
descriptor.AddProperty("rows", this.IntRows);
В моей стороне клиента API я хочу, чтобы моя собственность «строка», чтобы быть только для чтения .. .
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');
}
}
Однако это приводит следующее сообщение об ошибке ...
Error: Sys.InvalidOperationException: 'rows' is not a writable property.
следующая сеттер, кажется, требуется или дер за $ создать заявление для назначения «строки» это начальное значение:
set_rows: function(value)
{
this._rows = value;
},
Как я могу сделать свойство «строка» только для чтения в стороне клиента API, если связующий требуется присвоить значение из вызов AddProperty?
Спасибо за ответ. У меня еще не было возможности проверить его. Однако я не уверен, что следую примеру. Разве это не просто очистит значение «строк», если был вызван сеттер? –
@Poz Это правильно. Я установил неверную опцию null. Другой альтернативой было бы выбросить не реализованное исключение, однако это должно быть обработано кодером. Скорее просто молча игнорируйте набор. – BinaryMisfit
Спасибо за разъяснение. –