2011-04-24 19 views
0

Page_Load中,我創建了動態控件(帶有複選框的表格)。複選框的數量取決於我從數據庫中檢索的一些信息。我不想在每次回發時連接到數據庫。什麼是保存所需變量的最佳方法?也許我需要將它們存儲在HiddenFieldPage_Load中的數據庫請求

回答

0

它們存儲在視圖狀態中,這是一個hiddenField或多或少存儲(如視圖狀態本身被保存到了hiddenfield)

viewstate @ msdn

+0

只是好奇。如果控制被創建一次(甚至是動態的),那豈不是在默認情況下在ViewState中可用的(沒有做任何事情)?如果是這樣,我認爲他真正在做的是一次又一次地重新制定控制,應該停止。我的建議是隻是抑制IsPostback條件後面的控件創建,它應該沒問題。 – 2011-04-25 08:46:13

+0

屬性存儲在頁面的視圖狀態中,是的......但是您需要重新創建控件,以獲取關鍵字(也就是控制ID)來訪問它的屬性。並且,不是在每次回發之後重新創建控件的正確方法。 – 2011-04-25 17:08:11

0

建議從數據庫中獲取的變量值在這種情況下。但是,如果您選擇不遵循的建議,你仍然可以將這些值,如果它在你的系統正常存儲爲會話狀態變量...

如果您運行的選項,你可以考慮使用ViewState的變量來存儲你的變量。


閱讀State Variables