使用c#(asp.net)
我以编程方式创建了几个下拉列表(随机数)。 用户从每个列表中选择一个特定值,我需要保存用户选择的值。
如果我尝试使用按钮单击事件将数据保存到会话状态,则表示尚未创建下拉列表对象。 (显然,因为我在!IsPostBack下的页面加载事件中创建了下拉列表。)
如果我尝试在IsPostBack下的页面加载事件中将数据保存到会话状态,我只从每个列表中获取第一个值。 (显然,在回发后重新创建页面时,下拉列表已重新创建,用户输入的数据将丢失)。
单击按钮时,如何从下拉列表中保存用户选择的值? 我在代码隐藏文件中这样做。
答案 0 :(得分:0)
您必须重新创建每个回发的所有下拉列表。
答案 1 :(得分:0)
就个人而言(没有切换到MVC的能力)我会考虑完全摆脱回发并直接从标准HTTP POST请求中读取值。
使用回发实现动态控制通常会导致相当复杂且难以理解
答案 2 :(得分:0)
正如John Saunders所说,你必须在每次回发时重新创建所有DropDownList控件。此外,您必须在状态恢复之前创建。这意味着页面加载事件中的“under!IsPostBack”已经太晚了。将其移至Page Init。