1

カスタム コントロールにカスタム プロパティがあります。カスタム プロパティは Field1 グループにあり、ClientID と呼ばれます。グループとフィールドは、カスタム プロパティ定義に含まれています。ページの読み込み時に設定したい。だから私は次のことをします:

compositeData.Field1.ClientID = getClientId("Field1")

私がそうすると、エラーが発生します:

「compositeData.Field1」はヌルです

しかし、ルートから Field1_ClientID という名前のプロパティを定義し、次のようにするとします。

compositeData.Field1_ClientID = getClientId("Field1")

その後、すべてがうまく機能します。カスタム プロパティでグループを利用するにはどうすればよいですか?

4

3 に答える 3

2

ブルース、

compositeData はプロパティ マップです。値がない場合、compositeData.Field1 は null になります (プロパティ マップでもあるため)。

これを行うことができます。

compositeData.Field1= { ClientID: getClientId("Field1") }
于 2012-04-08T14:30:05.557 に答える
0

わかりました、カスタム コントロールのグループ機能の簡単なテストを行いました (これまで使用したことはありません)。

「testGroup」のグループとそのグループ内の「testProp」のプロパティが与えられます。

以下はbeforePageLoadで機能しました:

compositeData.testProp = "example1";
print("Test1: " + compositeData.testProp);

以下は機能しませんでした:

compositeData.testGroup.testProp = "example2";
print("Test2: " + compositeData.testGroup.testProp);

したがって、グループ プロパティは、複数のプロパティを持つオブジェクトを定義するのではなく、単にプロパティを論理的にグループ化する方法であると考えています。グループではなく、プロパティのみを参照してみてください。

于 2012-04-10T08:50:20.350 に答える
0

グループ「group1」内にプロパティ「property1」を設定するには、次のようにします。

compositeData.group1.property1 = "test";

上記のコードは、カスタム コントロールの beforePageLoad または afterPageLoad イベントで実行できます。

あなたの問題は、カスタム コントロールが設定される前に発生するイベントで値を設定していることだと思います。

于 2012-04-06T18:33:10.373 に答える