1

我的自定义控件中有一个自定义属性。自定义属性位于 Field1 组中,称为 ClientID。组和字段在我的自定义属性定义中。我想在页面加载时设置它。所以我做了以下事情:

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

当我这样做时,我得到一个错误:

'compositeData.Field1' 为空

但是,如果我定义了一个名为 Field1_ClientID 的根属性并执行以下操作:

compositeData.Field1_ClientID = getClientId("Field1")

然后一切正常。如何在自定义属性中使用组?

4

3 回答 3

2

布鲁斯,

CompositeData 是一个属性映射。如果其中没有值,compositeData.Field1 将为空(因为它也是一个属性映射)。

所以你可以这样做;

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

要在组“group1”中设置属性“property1”,您可以执行以下操作:

compositeData.group1.property1 = "test";

您可以在自定义控件的 beforePageLoad 或 afterPageLoad 事件中运行上述代码。

我认为您的问题是您正在设置自定义控件之前发生的事件中的值。

于 2012-04-06T18:33:10.373 回答
0

好的,我对自定义控件的组功能进行了快速测试(以前从未使用过)。

给定一组“testGroup”和该组内的“testProp”属性。

以下在 beforePageLoad 中起作用:

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

以下不起作用:

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

因此,我相信 group 属性可能只是一种对属性进行逻辑分组的方式,而不是定义具有多个属性的对象。尝试仅引用属性而不是组。

于 2012-04-10T08:50:20.350 回答