我看过帖子,建议我在if(!IsPostback)块中填充列表。
但是,我只生成下拉列表以回应回发,所以我不认为这对我有用。
我目前所做的是在Page_Init
中对下拉列表进行数据绑定。但是,当我在使用“inspect element”进行新选择(因此触发了autopostback)后检查列表时,我看到列表中的第一项始终是“已选中”。
请告诉我如何通过回发保持选择。
答案 0 :(得分:1)
如果你在Page_Init中绑定控件,那么你将失去你的选择。不要那样做。
将控件绑定一次,然后ViewState将保留控件数据。但是当选择发生变化时,它将被发送到服务器,SelectedIndexChanged
事件将被触发。
更一般地说,您在Render
阶段之前在控件上设置的任何属性都将保存在ViewState中。在下一个Post Back中,控件将加载ViewState的内容,因此将自身恢复到PostBack之前的状态。
然后控件将记录PostBack上发送的任何POSTed值。这包括选择,文本框内容等的更改。控件将触发相应的某事 Changed事件,以指示从ViewState的先前状态发生了更改。