事件后更改ViewState需要额外刷新

时间:2014-11-07 18:42:20

标签: c# asp.net postback viewstate

我有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事件被触发后正确存储列表框的选定索引值,并在下一页刷新时使用它(由于事件回发而发生)?

0 个答案:

没有答案