repeater控件如何三层嵌套绑定???

2024-11-08 11:45:35
推荐回答(2个)
回答1:

多层绑定比较麻烦,但是原理和单层是没有区别的。
首先你需要有一个多层集合的结构,这个相信你应该已经做好了。接下来就进行第一层绑定,和你平时做的一样,没有区别。然后在itemdatabind事件中,根据e.Item.DataItem强制转换成你绑定的那个数据对象(别忘了设定ie.Item.ItemType == ListItemType.Item),具体我忘记是e.什么了很久不做,你自己找一下。
如果你用datatable绑定,DataRowView dv=(DataRowView)e.Item.DataItem,如果是List就转化为T的对象。这样你将直接获得下一曾的对象结构,比如T.Items是下一层对象,你应该已经在第一层repeater中放置了第二层的repeater,根据ID找到这个repeater,将T.Items绑定上去。你只要认为你只是单纯的在绑定一个repeater就行了,关键在于找到第二层的集合结构和repeater控件。

第三层的方式和绑定第二层没有区别。就是很麻烦,需要很细心的去写才行。

回答2:

在内层的Repeator添加DataSource='<%# 外层绑定的属性表达式 %>'