首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.net:超过2个嵌套中继器

ASP.net:超过2个嵌套中继器
EN

Stack Overflow用户
提问于 2010-08-26 15:26:28
回答 3查看 1.1K关注 0票数 0

我的数据来自数据库。我有一个具有一些基本属性的项目数据表。

代码语言:javascript
复制
Item 
{ 
   ID, 
   Name, 
   Description, 
   ... 
} 

然后我有一个多对多的关系表:

代码语言:javascript
复制
Parent 
{ 
   ParentID, 
   ChildID 
} 

我遍历每一项并显示它的子项;以及它的子项,等等。我认为这最好是通过嵌套的重复器来完成的,但我可能错了。

如何使用asp:repeaters获得多个层级?我只用过一个嵌套的中继器,我不知道怎么做3+。

EN

回答 3

Stack Overflow用户

发布于 2010-08-26 15:34:34

就我个人而言,我可能是通过创建一个带有Item属性和某种ParentsChildren属性的自定义控件来做到这一点的。该控件将在Item上显示详细信息,然后使用中继器显示Parents / Children中的每个元素,其中对于每个项目,中继器递归地使用相同的控件来呈现该项目。

票数 0
EN

Stack Overflow用户

发布于 2010-08-26 15:44:45

“我会照Kragen说的做。”但是,如果您真的认为创建两个组件太多,那么您应该在数据绑定上使用一个中继器和两个foreach循环。使用两个中继器,一个在另一个中继器内部是非常复杂的,更不用说3个中继器了:)。

票数 0
EN

Stack Overflow用户

发布于 2010-08-26 20:14:00

亲子关系,哪种是多对多?这是没有意义的,至少称他们为父母和孩子是没有意义的。如果它真的是多对多,那么它就是一个网络;如果一个子节点只有一个父节点,那么它就是一个层次结构。

对于前者,我不确定以这种方式可视化它们是否有任何好处。你如何想象一个有多个父母的孩子?

对于后者,为什么不使用带有定制项模板的TreeView呢?它会自动处理所有的层次结构。中继器的问题是,如果你不是动态地做它们(在代码中创建它们),那么嵌套的级别是固定的,你不能像你想要的那样去。动态地做它们是可行的,但会带来开销。

我不太确定你到底想要达到什么目的。也许提供一些你需要看到的关于最终结果的更多细节会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3572882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档