當按下按鈕試圖讓DevExpress ASPxPopupControl
顯示時,就會出現此問題。使用popup.ShowOnPageLoad = true;
似乎不夠,檢查Page_Load
上的值表明它將恢復爲false
,即使服務器上的代碼已確實執行。Page_Load上的HiddenField空和ViewState值null
因此,我決定有一個變量,讀取和寫入ViewState
,所以它仍然存在。然後我有變量:
bool ShowPopup
{
get
{
if (ViewState["ShowPopup"] == null)
return false;
return (bool)ViewState["ShowPopup"];
}
set
{
ViewState["ShowPopup"] = value;
}
}
哪個只是按下按鈕上調用ShowPopup = true
。當在Page_Load
中使用popup.ShowOnPageLoad = ShowPopup;
時,ViewState["ShowPopup"]
爲null
,因此它返回false
。我試着用HiddenField
。所以我改變ShowPopup
到:
bool ShowPopup
{
get
{
return hfShowPopup.Value != "" && hfShowPopup.Value.ToLower() != "false";
}
set
{
hfShowPopup.Value = value.ToString();
}
}
再次使用ShowPopup = true
上按一下按鈕,當ShowPopup
在Page_Load
其值讀的是""
又一次因此ShowPopup
是false
。
我又試圖直接通過hfShowPopup.Value = "true";
設置HiddenField
,並使用
popupDuplicatePlayer.ShowOnPageLoad = hfShowPopup.Value != "" && hfShowPopup.Value.ToLower() != "false";
在Page_Load
,但同樣hfShowPopup.Value
是空的。
我已經使用了一些其他變量讀取/寫入ViewState
在同一頁面,他們工作正常。我知道ViewState
和HiddenField
可能不會在頁面生命週期的早期存在,但在Page_Load
中使用了,所以應該沒問題?我也嘗試在Page_LoadComplete
中訪問它們,但也遇到了相同的問題。頁面上沒有UpdatePanel
s,所以這不是問題,是否有其他原因?
我會假設,與ViewState
,HiddenField
和的ShowOnPageLoad
問題被直接設置有關係嗎?
隱藏字段的標記是什麼? – FJT 2014-10-20 12:25:57
隱藏字段是簡單的asp.net控件' '呈現爲' –
anothershrubery
2014-10-20 21:37:43