カスタム コンポーネント プロパティの定義と 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.ComponentSys.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 メソッド を参照してください。

参照

処理手順

カスタムの非ビジュアル クライアント コンポーネントの作成

概念

プロトタイプ モデルを使用したクライアント コンポーネント クラスの作成