我在 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"