사용자 지정 구성 요소 속성 정의 및 PropertyChanged 이벤트 발생시키기
업데이트: 2007년 11월
클라이언트 구성 요소 클래스를 만들 경우 페이지 개발자가 액세스할 수 있는 속성을 정의할 수 있습니다. 또한 구성 요소의 속성에 대한 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 이벤트를 발생시킬 수 있습니다. 구성 요소는 Sys.Component, Sys.UI.Behavior 또는 Sys.UI.Control 기본 클래스에서 raisePropertyChanged 메서드를 상속합니다.
다음 예제에서는 속성이 설정될 때마다 interval 속성에 대한 propertyChanged 이벤트를 발생시키는 방법을 보여 줍니다.
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 메서드를 참조하십시오.