我有Asp:ListBox
OnSelectedIndexChange="OnSIC"
和AutoPostback="true"
。
我希望在回发后跟踪所选索引,以显示一些取决于索引的数据。
我的想法是将所选索引保存在ViewState
。
protected void OnSIC(object sender, EventArgs e)
{
ViewState["idx"] = listBox.SelectedIndex;
}
但是,在刷新页面后,Page_Load
还没有更新的ViewState["idx"]
值。需要额外刷新才能使Page_Load
获得新的索引值。
我知道回发事件发生在Page_Load
之后,所以我尝试在ViewState["idx"]
中移动获得Page_PreRender
的代码,但我得到了同样的行为。
如何在OnSelectedIndexChanged
事件被触发后正确存储列表框的选定索引值,并在下一页刷新时使用它(由于事件回发而发生)?