2011-05-12 38 views

回答

1

通常你應該確定,並通過OnInit頁面過載或Page_Init事件添加這樣的控制,並確保你做的所有請求,包括回發。

定義局部變量來容納你可能創建的對象(如果你不知道有多少將會提前存在,它可能是List<>),並將它們實例化爲任何其他對象,設置它們的屬性,然後添加他們到Controls收集他們應該在的容器項目;默認情況下,它們將被添加到容器的末尾,但如果您願意,可以使用Insert而不是Add

假設您每次都像這樣重新創建它們,並在Init期間執行此操作,則可以從Load事件/過載訪問它們,包括視圖狀態(如果適用)。

+0

我認爲這需要在每次回發時進行數據庫調用,因爲我的控件來自數據庫。如果用戶選擇了一些選項並進行回發,那麼如果我再次綁定這些控件,用戶選擇將不會持續正確嗎?那麼我需要保存用戶選擇的選項並恢復它們。有什麼辦法可以使用哪些不需要在每個回發中添加控件? – 2011-05-12 14:27:09

+0

你需要做什麼來選擇要創建的控件,在我上面提到的地方進行;在'Init'中。確保設置所有通常在ASPX中設置的屬性 - 特別是包含「Name」。如果您在正確的時間執行此操作,則在* all *回傳時,它將*填入用戶提供的值,就像頁面上的任何其他控件一樣。 – 2011-05-12 14:29:00