1
我有一個要求,它從後面的代碼中添加html/aspx組件。組件可以是複選框或單選按鈕,它們的選項來自數據庫。 那麼做到這一點的最佳方法是什麼?用戶控制在這裏有幫助嗎?使用C#從代碼中添加ASPX組件
我有一個要求,它從後面的代碼中添加html/aspx組件。組件可以是複選框或單選按鈕,它們的選項來自數據庫。 那麼做到這一點的最佳方法是什麼?用戶控制在這裏有幫助嗎?使用C#從代碼中添加ASPX組件
通常你應該確定,並通過OnInit
頁面過載或Page_Init
事件添加這樣的控制,並確保你做的所有請求,包括回發。
定義局部變量來容納你可能創建的對象(如果你不知道有多少將會提前存在,它可能是List<>
),並將它們實例化爲任何其他對象,設置它們的屬性,然後添加他們到Controls
收集他們應該在的容器項目;默認情況下,它們將被添加到容器的末尾,但如果您願意,可以使用Insert
而不是Add
。
假設您每次都像這樣重新創建它們,並在Init
期間執行此操作,則可以從Load
事件/過載訪問它們,包括視圖狀態(如果適用)。
我認爲這需要在每次回發時進行數據庫調用,因爲我的控件來自數據庫。如果用戶選擇了一些選項並進行回發,那麼如果我再次綁定這些控件,用戶選擇將不會持續正確嗎?那麼我需要保存用戶選擇的選項並恢復它們。有什麼辦法可以使用哪些不需要在每個回發中添加控件? – 2011-05-12 14:27:09
你需要做什麼來選擇要創建的控件,在我上面提到的地方進行;在'Init'中。確保設置所有通常在ASPX中設置的屬性 - 特別是包含「Name」。如果您在正確的時間執行此操作,則在* all *回傳時,它將*填入用戶提供的值,就像頁面上的任何其他控件一樣。 – 2011-05-12 14:29:00