我有一个复合控件,它有两个引用缓存中的值的私有字段,这些私有字段在构造方法中调用。由于字符串键用于标识缓存中的值,因此我必须有一种方法来存储该字符串键,使其在控制实例化时可用,并且必须能够引用它没有它改变的回发。如何在不使用视图状态的情况下为复合控件的回传保存值
此外,该按键是在控件第一次加载时生成的,但在第一次之后不应该再次更改。
我该如何做到这一点?
我已经尝试将其保存到视图状态,但这不起作用,因为viewstate在控件实例化时还不可用。
我曾尝试使用私人字段,然后在构造函数中检查Page.IsPostback,如果它不是回发,我给私有字段赋值,但在随后的回发中它失去了它的值,我可以再次将它重新分配给Page.IsPostBack,因为它是自动生成的GUID。
这一定是一些人不得不做之前....
当用户点击复合控件中的“复位”按钮时,我正在使用缓存来将数据重置为原始状态。无论如何,这是它的主要目的..我正在测试试图移动将数据源分配到init事件的代码。 – 2010-10-29 20:16:00
好的;只要你没有在奇怪的时代发生任何其他事情,而这些事情在某个特定的时间依赖于它,那么它就应该起作用。一般来说,数据绑定最好在Load事件(Page或Control)中完成,但我建议至少Init以减少遇到另一个问题的可能性,如果某事取决于您同时正在做的其他事情。 – 2010-10-29 20:19:34
我不想再讨论这个问题了,关于你在缓存/应用程序中存储的内容;但也可能有更好的方法来处理这个问题,这取决于你所存储的内容。 – 2010-10-29 20:20:48