我应该在哪里填充下拉列表以使其保留其选择

本文关键字:保留 选择 在哪里 填充 下拉列表 我应该 | 更新日期: 2023-09-27 17:53:58

我看到一些帖子建议我在if(!IsPostback)块中填充列表。

然而,我只生成下拉列表响应回发,所以我认为这将不适合我。

我目前做的是绑定Page_Init中的下拉列表。然而,当我使用"inspect element"在做出新选择后检查列表(因此自动返回已被触发)时,我看到列表中的第一个项目始终是"选中的"。"

请让我知道如何通过回发保持选定

我应该在哪里填充下拉列表以使其保留其选择

如果在Page_Init中绑定控件,那么您将失去您的选择。不要那样做。

绑定一次控件,然后ViewState将保留控件数据。但是当选择发生变化时,它将被发送到服务器,并且SelectedIndexChanged事件将被触发。


更一般地说,在Render阶段之前在控件上设置的任何属性都将保存在ViewState中。在下一次PostBack时,控件将加载ViewState的内容,因此将自己恢复到PostBack之前的状态。

然后,控件将记录在PostBack上发送的任何post值。这包括对选择、文本框内容等的更改。控件将触发适当的somethingChanged事件,以指示ViewState的先前状态发生了变化。