2010-03-23 52 views
0

我正在创建导航菜单。我必须呈现中继器控制ul-li标签和menuitems可以达到N级别。我需要添加一个孩子转发器控制dymnamically到父母控制?以编程方式将嵌套的中继器控件添加到N级?

编辑: 示例 - UL利可以转到n级

<ul> 
<li> 
    <ul> 
    <li> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
    </li> 
    <li></li> 
    <li></li> 
    </ul> 
</li> 
<li></li> 
<li></li> 
</ul> 
+0

坚持,我想我误解了。您是否想在中继器内动态嵌套中继器,或者,您是否想要一个中继器,然后在其ItemTemplate中动态创建控件? – andy 2010-03-24 06:23:51

+0

Andy,我有一个父级重复器,并且想要添加嵌套中继器到项目模板。但不是。正在添加的中继器将取决于数据。 – 2010-03-24 06:58:00

+0

好的,我明白了,然后在下面看到我的答案 – andy 2010-03-25 00:09:58

回答

0

该中继器是不是真的为N嵌套设计。主要的问题是你会在ItemDataBound事件中创建它们,并且尝试为新控件声明新的事件处理程序会变得麻烦。

最好的事情是使用树控件。另外,如果你确实需要指定你的模板声明式的,也就是说,在aspx中定义它,然后编写你自己的控件,它为“节点”公开了模板,但其行为就像一个树控件。

0

如果你的数据是动态的,这是做它的一种方式。除非我不使用中继器,否则如果使用.Net 3.5或更高版本,我会使用ListView。它们比中继器更新且更灵活。

或者您可以使用Menu直接动态绑定到您的数据。

您也可以从存储的位置检索整个菜单层次结构,并简单地输出您自己的所有格式。

0

将动态控件添加到中继器是棘手的。正如凯文所建议的那样,我肯定会采用一次性的格式。

或者,为您的N个级别定义一个合理的上限,并且可以嵌套控制。你真的需要超过三个菜单级别吗?从UI的角度来看,这是一场噩梦。 (“现在WHERE是这个工具吗?我刚刚使用它5分钟前...”)

相关问题