C# 访问在回发时动态创建的控件的值

C# 访问在回发时动态创建的控件的值,c#,asp.net,C#,Asp.net,我的问题是: 我有一个表,动态创建,填充了很多DropDownList,Witch ID是动态创建的 当按下按钮时,我需要扫描表中的所有控件并保存它们的值 但是在回发之后,我无法再访问该表,我不知道如何获取这些值 谢谢 动态创建的控件必须在每次回发事件Init或PreInit时(在加载ViewState之前)再次创建,否则您将无法检索它们的值 一些参考链接 如果表单已发布,它们不应该在Request.Forms集合中 假设您以dct开始命名它们 然后可以循环遍历集合并获取所需的值 您可以使用

我的问题是: 我有一个表,动态创建,填充了很多DropDownList,Witch ID是动态创建的

当按下按钮时,我需要扫描表中的所有控件并保存它们的值

但是在回发之后,我无法再访问该表,我不知道如何获取这些值


谢谢

动态创建的控件必须在每次回发事件Init或PreInit时(在加载ViewState之前)再次创建,否则您将无法检索它们的值

一些参考链接


如果表单已发布,它们不应该在Request.Forms集合中

假设您以dct开始命名它们

然后可以循环遍历集合并获取所需的值

您可以使用Request.Form(“dct_001”)等访问这些值

由于查找是基于字符串的,所以可以将其放入循环中以捕获值


顺便说一句,这种经典的ASP方法在4.0中仍然有效,您也可以在Page_Load()事件中执行此操作,只要不重置值。实际上,我想询问您是否可以在Page_Load()事件中执行此操作。我尝试了Page_Load()事件(除了再次创建控件外,没有其他操作),但它没有将值绑定回控件。另外,看看上面关于ViewState的MSDN文章,ViewState加载似乎发生在Page_load事件之前,我也遇到了类似的问题。请你看看我的问题: