Поделиться через


Определение пользовательских свойств компонентов и создание событий PropertyChanged

Обновлен: Ноябрь 2007

При создании клиентского класса компонента определяются свойства, к которым, как ожидается, будут обращаться разработчики страниц. В методах доступа «set» свойств компонента также можно создавать события уведомления Sys.Component.propertyChanged. Разработчики страниц, использующие этот компонент, смогут привязывать к событиям уведомления свойств свои обработчики, чтобы выполнять код при изменении значений свойств.

Определение открытых свойств в пользовательском клиентском компоненте

В клиентских компонентах ASP.NET AJAX методы доступа свойств определяются в качестве методов прототипа класса. Имена методов доступа содержат префиксы get_ и set_, за которым следует имя соответствующего свойства. В следующем примере показано, как определить в прототипе класса свойство для чтения и записи с именем interval.

get_interval: function() {
    return this._interval;
},
set_interval: function(value) {
    this._interval = value;
}

Создание события PropertyChanged

В методе доступа «set» свойства можно вызывать метод Sys.Component raisePropertyChanged, чтобы создать событие propertyChanged. Компонент наследует метод raisePropertyChanged от базового класса Sys.Component, Sys.UI.Behavior или Sys.UI.Control.

В следующем примере показано, как создать событие propertyChanged для свойства interval при задании значения этого свойства.

get_interval: function() {
    return this._interval;
},
set_interval: function(value) {
    if (this._interval !== value) {
        this._interval = value;
        this.raisePropertyChanged('interval');
    }
}

Пример создания и обработки события propertyChanged пользовательского компонента см. в разделе Создание настраиваемых невизуальных клиентских компонентов. Дополнительные сведения о методе raisePropertyChanged см. в разделе Метод Sys.Component.raisePropertyChanged.

См. также

Задачи

Создание настраиваемых невизуальных клиентских компонентов

Основные понятия

Создание клиентского класса компонентов с помощью модели прототипа