Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在控制事件上丢失动态控制值的解决方案_C#_Asp.net_Dynamic Controls - Fatal编程技术网

C# 在控制事件上丢失动态控制值的解决方案

C# 在控制事件上丢失动态控制值的解决方案,c#,asp.net,dynamic-controls,C#,Asp.net,Dynamic Controls,我有一个gridview,在其中动态填充下拉列表。这些下拉列表由数据库中的数据填充,因此gridview的列数和行数以及下拉控件的数量事先不知道。(我使用继承ITemplate的ItemTemplate类来创建动态下拉列) 我能够正确显示数据,但当我尝试将gridview的更改值保存到数据库时,问题就出现了 我在gridview外有一个按钮,这样当用户单击它时,任何保存的数据都应该在数据库中得到更新。但是在按钮点击事件中,我无法访问下拉列表的值,因为动态内容在回发和任何其他控制事件中丢失 有人能

我有一个gridview,在其中动态填充下拉列表。这些下拉列表由数据库中的数据填充,因此gridview的列数和行数以及下拉控件的数量事先不知道。(我使用继承ITemplate的ItemTemplate类来创建动态下拉列)

我能够正确显示数据,但当我尝试将gridview的更改值保存到数据库时,问题就出现了

我在gridview外有一个按钮,这样当用户单击它时,任何保存的数据都应该在数据库中得到更新。但是在按钮点击事件中,我无法访问下拉列表的值,因为动态内容在回发和任何其他控制事件中丢失

有人能告诉我这个问题的解决办法吗


提前感谢

研究,您将看到您需要在
OnInit
中创建动态控件,这是
PreInit
的事件,否则它们将无法在
页面上加载
等。

您必须在OnInit事件中创建动态控件,因为当OnLoad点击viewstate时,将填充allready,并且新创建的控件不会使用viewstate中的数据进行更新

下面是一篇关于viewstate的好文章:


当您创建下拉列表时?@Antonio Bakula在页面加载时