Phải, tôi đã có cái gì đó rất đặc biệt xảy ra ở đây ...ViewState là null trên postback
ASP.NET 4 trang với các tài sản sau đây:
protected QuickShopBag QuickShopBagInstance
{
get { return (QuickShopBag)ViewState["QuickShopBag"]; }
set { ViewState["QuickShopBag"] = value; }
}
Trong Page_Load ban đầu() trong (! Page.IsPostBack) QuickShopBagInstance được điền và ViewState được lưu.
Tuy nhiên, khi bạn thực hiện đăng lại trên trang, ViewState sẽ trống khi được truy cập từ sự kiện Button_OnClick() postback sau!
Tôi đã kiểm tra Request.Form và chắc chắn đủ giá trị _Viewstate ở đó và được điền. Tôi cũng đã chạy giá trị này thông qua một trình phân tích cú pháp và nó chứa dữ liệu dự kiến, trang có ViewStateEnabled = "true" và .NET 4 ViewStateMode = "Enabled" mới.
Tôi đã chuyển sang ghi đè phương thức LoadViewState để kiểm tra xem nó có đang kích hoạt hay không.
protected override void LoadViewState(object savedState)
{
base.LoadViewState(savedState);
}
Tôi thực sự bị mất như những gì có thể có thể là vấn đề. Bất kỳ ý tưởng?
Bạn không hiển thị logic bạn đang sử dụng để điền thuộc tính đưa nội dung vào chế độ xem. Probabily nó làm gì đó sai trong thời gian sau lưng –
Chỉ cần giả định this.QuickShopBagInstance = new QuickShopBag() trên tải ban đầu. Tôi cũng đã nói rằng tôi đã xác nhận hợp lệ dữ liệu ViewState đã được chuyển vào postback và đó là chính xác. –
Bạn có thể vui lòng đăng định nghĩa lớp QuickShopBag không. Không thực sự cần các thuộc tính. – Asken