0

使用 c# (asp.net)

我正在以编程方式创建几个下拉列表(随机数)。用户从每个列表中选择一个特定的值,我需要保存用户选择的值。

如果我尝试使用按钮单击事件将数据保存到会话状态,则表示尚未创建下拉列表对象。(显然是因为我在 !IsPostBack 下的页面加载事件中创建下拉列表。)

如果我尝试在 IsPostBack 下的页面加载事件中将数据保存到会话状态,我只会从每个列表中获取第一个值。(显然是因为在回发后重新创建页面时,下拉列表已重新创建并且用户输入的数据丢失)。

单击按钮时,如何从下拉列表中保存用户选择的值?我在文件后面的代码中这样做。

4

3 回答 3

0

您必须在每次回发时重新创建所有下拉列表。

于 2009-07-07T21:14:22.273 回答
0

就个人而言(无法切换到 MVC)我会考虑完全摆脱回发并直接从标准 HTTP POST 请求中读取值。

带有回发的动态控制的实现通常会变得相当复杂且难以遵循

于 2009-07-07T21:25:50.907 回答
0

正如 John Saunders 所说,您必须在每次回发时重新创建所有 DropDownList 控件。此外,您必须在状态恢复之前创建它们。这意味着页面加载事件中的“!IsPostBack”已经太迟了。将其移至 Page Init。

于 2009-07-07T21:48:58.740 回答