2017-03-09 65 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