我在我的網頁中動態添加控件。 我將它們添加到onload方法中。 一切工作正常..在asp.net頁面動態添加控件
但我有點困惑它是如何工作的。 我已經閱讀了很多文章,所有控件在加載事件之前從viewstate獲取它們的值。然後,當我在OnLoad事件中,即在LoadPostData事件之後添加它們時,我的動態添加控件如何獲取它們的值。
我在我的網頁中動態添加控件。 我將它們添加到onload方法中。 一切工作正常..在asp.net頁面動態添加控件
但我有點困惑它是如何工作的。 我已經閱讀了很多文章,所有控件在加載事件之前從viewstate獲取它們的值。然後,當我在OnLoad事件中,即在LoadPostData事件之後添加它們時,我的動態添加控件如何獲取它們的值。
加載它們在Page_Init()
審查更多信息頁面生命週期:
http://msdn.microsoft.com/en-us/library/ms178472.aspx
這是一個有用的文章,以及:
http://www.code-magazine.com/article.aspx?quickid=0305101&page=2
在典型的GET請求,控件創建在Page_Init
。由於這些動態控件不是頁面標記的一部分,因此在POST BACK中,您需要重新創建。請確保重新創建時,它必須具有相同的ID號否則您的事件/值將不會保留。
動態添加控件在控制生命週期中起到作用。即使在錯過LoadViewState事件後添加控件,該控件在添加到頁面時仍然會發生該事件。我建議誰沒有過的閱讀這篇文章的特權任何可憐的靈魂,立即這樣做:
http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx
來源: 專業的程序員,我不宣稱自己是專家,但我已經閱讀了大量關於ViewState的文章。 :)