權,我有一件很奇特的事情在這裏......ViewState是上回發空
ASP.NET 4頁具有以下屬性:
protected QuickShopBag QuickShopBagInstance
{
get { return (QuickShopBag)ViewState["QuickShopBag"]; }
set { ViewState["QuickShopBag"] = value; }
}
在最初的Page_Load()在(!Page.IsPostBack)中填充QuickShopBagInstance並保存ViewState。
但是,當您在頁面上執行回發時,從回發Button_OnClick()事件中訪問時,ViewState爲空!
我已經檢查了Request.Form,並且確定_Viewstate的值已經存在並且已被填充。我也通過解析器運行了這個值,它確實包含了預期的數據,頁面有ViewStateEnabled =「true」和新的.NET 4 ViewStateMode =「Enabled」。
我已經開始重寫LoadViewState方法來檢查它是否正在觸發,它似乎不是。
protected override void LoadViewState(object savedState)
{
base.LoadViewState(savedState);
}
我真的失去了什麼可能是問題。有任何想法嗎?
您不顯示您用於填充將內容放入視圖狀態的屬性的邏輯。 Probabily它在回發期間做了錯誤 –
只需假設this.QuickShopBagInstance =新的QuickShopBag()在初始加載。我也已經說過,我已經驗證了正在傳回的視圖狀態數據,這是正確的。 –
您可以請發佈QuickShopBag類定義。不需要這些屬性。 – Asken