基本上,我有一個下拉列表和一個動態添加的用戶控件。用戶控件根據在下拉列表中進行的選擇加載網格視圖。下拉列表不是用戶控件的一部分。ViewState,UserControl和IsPostback
現在,問題是,如何在每次用戶更改下拉列表中的選擇時模擬(isControlPostback = false)?它看起來像ViewState記得控制。
在我的用戶控件我有:
protected bool IsUserControlPostBack
{
get
{
return this.ViewState["IsUserControlPostBack"] != null;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsUserControlPostBack)
{
ViewState.Add("IsUserControlPostBack", true);
//load stuff in the grid view and bind it
}
}
當用戶改變的下拉列表中選擇,我有一個JavaScript確認框,以及頁面回。因此,下拉列表中的OnSelectedIndexChanged事件不會被觸發。我想刪除每次選定的索引更改時執行此操作: ViewState.Remove(「IsUserControlPostBack」);
我剛剛發現控件的OnLoad事件在頁面的OnLoad事件之後立即執行,並且在任何其他頁面下拉列表事件之前執行。所以基本上,我在頁面響應由下拉列表觸發的任何更改之前加載用戶控件。這種行爲本質上是問題。 – sarsnake 2009-02-28 01:19:04