【发布时间】:2011-01-27 12:41:44
【问题描述】:
OK 是时候再来一个你的愚蠢 Q 了。
我有一个控件,它具有一些需要在 ViewState 中持久化的属性。如果控件在页面上出现多次,我还需要确保属性不会被覆盖。
我想写一些类似...的东西
ViewState[String.Format("{0}_{1}", "BaseKey", this.ClientID)] = ...
但是 ClientID 的值在页面的生命周期中会发生变化。它一开始就像“MyControl1”,然后变成“ctl001_MyControl1”。因此,在更改之前应用的任何值都会丢失。
如果我改用 UniqueID,也会发生同样的事情。
我知道我遗漏了一些明显的东西,我会责怪我正在服用的药片,所以我看起来不会太愚蠢。
-- 斯图尔特
【问题讨论】:
标签: c# asp.net viewstate object-persistence