C# 在控制事件上丢失动态控制值的解决方案
我有一个gridview,在其中动态填充下拉列表。这些下拉列表由数据库中的数据填充,因此gridview的列数和行数以及下拉控件的数量事先不知道。(我使用继承ITemplate的ItemTemplate类来创建动态下拉列) 我能够正确显示数据,但当我尝试将gridview的更改值保存到数据库时,问题就出现了 我在gridview外有一个按钮,这样当用户单击它时,任何保存的数据都应该在数据库中得到更新。但是在按钮点击事件中,我无法访问下拉列表的值,因为动态内容在回发和任何其他控制事件中丢失 有人能告诉我这个问题的解决办法吗C# 在控制事件上丢失动态控制值的解决方案,c#,asp.net,dynamic-controls,C#,Asp.net,Dynamic Controls,我有一个gridview,在其中动态填充下拉列表。这些下拉列表由数据库中的数据填充,因此gridview的列数和行数以及下拉控件的数量事先不知道。(我使用继承ITemplate的ItemTemplate类来创建动态下拉列) 我能够正确显示数据,但当我尝试将gridview的更改值保存到数据库时,问题就出现了 我在gridview外有一个按钮,这样当用户单击它时,任何保存的数据都应该在数据库中得到更新。但是在按钮点击事件中,我无法访问下拉列表的值,因为动态内容在回发和任何其他控制事件中丢失 有人能
提前感谢研究,您将看到您需要在
OnInit
中创建动态控件,这是PreInit
的事件,否则它们将无法在页面上加载等。您必须在OnInit事件中创建动态控件,因为当OnLoad点击viewstate时,将填充allready,并且新创建的控件不会使用viewstate中的数据进行更新
下面是一篇关于viewstate的好文章:
当您创建下拉列表时?@Antonio Bakula在页面加载时