1

我在 ASP.Net 中构建了一个 CompositeControl,现在我无法在托管页面上维护 3 个控件实例的 ViewState。我的 CompositeControl 有一个属性“HeaderText”,我的 CompositeControl 的所有 3 个实例都具有页面上第一个控件实例的值。

例如:如果第一个控件有 HeaderText = "Test 1",那么所有其他控件也有 HeaderText = "Test 1"。

在调试过程中,我发现该属性的 set 运算符被调用了 2 次。当我使用 Debug.WriteLine() 输出跟踪集合运算符时,输出如下所示:

HeaderText of Control 1 = "Test 1"
HeaderText of Control 2 = "Test 2"
HeaderText of Control 3 = "Test 3"
HeaderText of Control 1 = "Test 1" <-- Why is the set operator called 2 times for each Control?
HeaderText of Control 2 = "Test 1"
HeaderText of Control 3 = "Test 1"
4

1 回答 1

0

以防万一其他人遇到这种行为:我打开了“外部代码”的调试,并发现我不小心将属性添加到了皮肤文件中。因此 HeaderText 的集合运算符被调用了 2 次......很难找到这个错误。

于 2016-05-03T13:25:37.713 回答