2012-12-07 122 views
0

我在C#中動態創建了一些表格,它們給我viewstate問題。我有一個複選框表格和一個依賴於第一個表格的數字表格。當我按下一個導致回發的按鈕時,我遇到了一些問題。這是一個流程圖。如何在頁面呈現之前加載視圖狀態

的Page_Load

  • 創建複選框表
  • 創造數項表(複選框始終是空的,表中有錯誤的行數,但編號是回傳正確填充)

回傳按鈕

  • 創建數字條目表(複選框現在已填充,表格具有正確的行數,但數字無法在回發中存活)。

有沒有一種方法可以在創建數字條目表之前將viewstate加載到複選框表?我試圖在其中一個或另一個地方(頁面加載或回傳按鈕方法)創建數字條目表,但都不是完全正確的。我知道動態內容需要在每個負載上創建,以便視圖狀態出現。

我懷疑我可能需要創建一個DataTable,並存儲在ViewState的複選框來正確地再現......

回答

0

我想補充的動態控件在你的頁面的PreInitInit事件。儘管您可以在之後添加它們,但Init階段是在爲控件加載ViewState數據之後。

如果您在Page_Load控制有中添加控件發揮追趕,這意味着它貫穿所有的頁面生命週期事件,直到它與頁面的其餘部分迎頭趕上。這可能會導致您看到的問題。

下面是關於一個優秀的寫了Page LifecycleViewStatehttp://www.codeproject.com/Articles/24611/ASP-NET-Internals-Viewstate-and-Page-Life-Cycle

+0

這是一個偉大的文章,謝謝。原來,我可能需要兩次構建我的表(一次用於回發數據,並且再次正確構建它)。 – user1666231

相關問題