好的,是时候从你那里得到另一个愚蠢的 Q 了。
我有一个控件,它具有一些需要在 ViewState 中保留的属性。如果控件在页面上出现多次,我还需要确保不会覆盖属性。
我想写一些类似...
ViewState[String.Format("{0}_{1}", "BaseKey", this.ClientID)] = ...
但是 ClientID 的值在页面的生命周期中会发生变化。它一开始就像“MyControl1”,然后变成“ctl001_MyControl1”。因此,在更改之前应用的任何值都会丢失。
如果我改用 UniqueID,也会发生同样的事情。
我知道我遗漏了一些明显的东西,我会责怪我正在服用的药片,所以我看起来不会太笨。
——斯图尔特