2014-07-04 96 views
1

我已經經歷了很多Stackoverflow中的類似主題,但無法找到正確的解決方案。擴展形式 - 動態添加更多字段並讀取值

項目:一個在線手機銷售門戶,管理員可以添加有關移動設備的功能並保存它們。我創建了一個ASP.NET 4.5表單,在點擊一個名爲「Add More +」的按鈕時,可以動態生成控件,類似於下面顯示的按鈕或here:最後會出現一個名爲「Save Values」的按鈕,它在點擊應保存動態控件中輸入的所有值以保存在SQL中。

Feature Value 
=====  ====== 
Camera 16 MP 
Memory 16 GB [Add more +] 
[textbox] [textbox] 

[Save Values] 

我正在使用C#(沒有jQuery和沒有JavaScript)和Web窗體上的面板。我可以動態創建控件當點擊添加更多按鈕。因此,在輸入值並單擊Save Values按鈕後,頁面邏輯後面的代碼無法檢索輸入到動態創建的字段中的值。

我通過閱讀stackoverflow中的主題了解到,控件必須在同名的page_intpage_load之內創建。

我的問題:

  1. 我一個按鈕單擊事件內創建控件動態。該步驟可以重複任意次數,並且用戶將生成儘可能多的控制。我是否應該實際保存用戶生成動態控件的次數以及在任何會話或靜態數組中所生成的每個動態控件的名稱,以保留用於在回發中再次生成代碼的數據。

  2. 現在,在Save Values按鈕的回發事件期間,我應該在哪裏重新創建控件,我的意思是它在page_initpage_load

  3. 通過再次使用相同名稱重新創建控件(從會話保存的名稱 - 如果這是如何完成的,如果不是請建議),通過添加更多按鈕單擊事件創建的控件會發生什麼以及在這些動態創建的控件中輸入的值會發生什麼變化?

  4. 如何讀取C#中的值?任何示例代碼將不勝感激。

  5. 是否有互聯網上任何現成的擴展名如付費/免費控制任何第三方,可以給這個功能?如果是有任何參考?

  6. 任何替代方法來實現這個完整的功能?

+1

你可以告訴你目前使用生成控件的代碼? – ChrFin

回答