2017-03-09 61 views
0

我要創建多個listbox,並結合他們,因爲他們動態創建。我創建了listbox的循環是一個用於創建無listbox需要dynamicaly創建列表框C#

for(int i=0;i<requirement;i++) 
{ 
    Listbox dynamiclistbox = new listbox(); 
    //then i bind it with a list<> 
    //then i add listbox to a panel 
    panel.Controls.Add(dynamiclistbox); 
} 

我的問題是,當我在提交按鈕點擊動態控件消失動態控件上postback 鬆散狀態能有人幫我創建無。 listbox動態綁定也綁定他們在同一按鈕單擊。並獲得listboxpostback

即,要知道上listbox

+0

回發問題:http://stackoverflow.com/questions/34544500/get-text-value-from-textbox-after-value-text-changed服務器端 –

+0

您必須(重新)在每個回發站上創建列表框。你將不得不在某處存儲'require',並且當有一個PostBack時,再次執行'for-loop'。 – VDWWD

回答

0

所選擇的項目你需要把你的代碼中Page_Load事件。如果它已經存在,那麼你可能有它內在的東西像

if (!Page.IsPostBack) { 
    //Your code 
} 

如果是這樣的話,那麼你就需要把你的代碼if之外,因爲它只添加控件時,它不是一個回發,並且您還需要在回發時添加它們。

編輯:

當前控件是按鈕單擊創建。建議有一個單獨的功能,它接收輸入並生成控件,將它們添加到panel。從您的點擊事件中調用此函數。如果這是正確的,創建一個asp:HiddenField並設置其Value您在單擊處理程序所需要的輸入。在Page_Load叫你HiddenFieldValue你的函數。

+0

感謝約什的答覆,但列表框將在點擊按鈕來創建我創建列表框的數量和成功他們也綁定上市。但問題是我想在列表框(動態創建列表框)上選定的文本,但在回發列表框消失。 – Vishal

+0

@查看我的答案編輯。 –

+1

感謝您的回答您的回答讓我清楚瞭解動態控件的概念。我的錯誤是,我還在(ispostback)創建動態列表,並在ispostback中找到控件列表框。儘管發現它是我的savebutton事件。 – Vishal

0

!IsPostBack部分結合寫代碼

for(int i=0;i<requirement;i++) 
{ 
    Listbox dynamiclistbox = new listbox(); 
      dynamiclistbox.CssClass = ""; 
      dynamiclistbox.ID = "" 
      dynamiclistbox.EnableViewState = true; 

    if (!IsPostBack){} 
+0

感謝的答案,但我需要點擊一個按鈕創建動態列表框,所以我不能在!的IsPostBack創建它,但現在我得到我的上述答覆。但也感謝您的回答 – Vishal