2012-06-07 47 views
1

我正在使用AJAXToolkit Accordion控件并基于数据库查询动态地向其添加窗格。例如:动态增加ASP.NET中的变量名

Jane登录并用手风琴拉起页面。在数据库中,她在todo_list表中有五行。所以,我需要动态生成包含信息的五个窗格。从桌子上......但如果乔登录,他可能只有三排,而乔什可能有十五排 - 所以我永远不会知道一个人会事先拥有多少人。

所以,我需要一些方法来动态命名变量(或有另一种方法来做到这一点)。例如,下面是一些我试图完成的伪代码:

Dim i as integer 
For each row in todo_list 
    Dim ap + i as New AccordionPane 
    Add some info from the row to the pane 
Next 
+0

,你可以在这里使用数组 – swapneel

回答

1

您不需要创建新的变量名称。你可以简单地将新创建AccordionPane对象添加到另一个对象(如List

编辑:眼见为AccoridonPane是如何被管理的控制,我会建议使用PlaceHolder控制,保持你的Accordion控制,动态添加AccordionPanes的手风琴控制,然后手风琴添加到占位符:

Dim accordion as New AjaxControlToolkit.Accordion  

For each row in todo_list 
    Dim ap as New AjaxControlToolkit.AccordionPane 
    'Add the row data to the AccordionPane 

    accordion.Panes.Add(ap) 
Next 

'placeHolder is the id of your PlaceHolder control on the page. 
placeHolder.Controls.Add(accordion) 
+0

当我做点心手风琴作为新的列表(中AccordionPage)我得到一个错误“类型‘AccordionPage’没有定义“ – davemackey

+0

@davemackey - 我已经更新了我对sh的回答为您的页面动态添加Accordion控件提供了一种可能的解决方案。 – CAbbott