C# 动态添加ASP.NET Web窗体控件会在页面刷新时丢失状态

C# 动态添加ASP.NET Web窗体控件会在页面刷新时丢失状态,c#,asp.net-3.5,C#,Asp.net 3.5,我正在根据dropdownlist中所选项目的数据库中的值数量创建动态标签和文本框。然后,动态标签将有名称,文本框中有值。要保留这些控件的值,请使用Page_init event。因此,我使用缓存来保存dropdownlist中的SelectedItem 问题:过程进展顺利。但是,如果我尝试刷新页面,下拉列表中没有选择任何项目,但缓存未清除,因此正在使用此缓存值创建动态控件。不幸的是,动态添加的控件没有保留,因此您必须在每次页面加载时添加它们。因此,您必须从db重新加载,或者存储控件的总数,然后

我正在根据dropdownlist中所选项目的数据库中的值数量创建动态标签和文本框。然后,动态标签将有名称,文本框中有值。要保留这些控件的值,请使用Page_init event。因此,我使用缓存来保存dropdownlist中的SelectedItem


问题:过程进展顺利。但是,如果我尝试刷新页面,下拉列表中没有选择任何项目,但缓存未清除,因此正在使用此缓存值创建动态控件。

不幸的是,动态添加的控件没有保留,因此您必须在每次页面加载时添加它们。因此,您必须从db重新加载,或者存储控件的总数,然后使用page init上的索引重新创建。ViewState将重新加载到这些控件中以保留以前的值

不幸的是,你不得不做这项工作,但对于动态控件来说就是这样。作为替代方案,您可以使用一个中继器来保留绑定到它的项目列表


HTH.

您的视图状态可能有问题。。。