Repeater控件中的嵌套Gridview
题
我有一个嵌套在转发器控件中的gridview控件。
转发器控件在pageload和itemdatabound事件中进行数据绑定 我寻找gridview控件
如果e.Item.ItemType = ListItemType.Item那么 Dim gvw As GridView = DirectCast(e.Item.Controls(3),GridView) gvw.DataSource = GetData() gvw.DataBind() 结束如果
发生这一切后,我的页面显示转发器控件数据 和网格视图中的数据,但问题是只有替代网格视图有数据 即,在转发器控制中的行1,3,5 ......具有数据绑定的网格 但是行2,4,6 ......不显示数据
标记 - 只是一个例子
<repeater>
结果
<itemtemplate>
结果
<table>
结果
<tr>
结果
<td>
结果
<gridview />
结果
</td>
结果
</tr>
结果
<label Text='<%# Eval("some_data") %>'
结果
</table>
结果
</itemtemplate>
结果
</repeater>
结果
<=>结果
<=>结果
<=>结果
<=>
再次上面的标记只是一个例子,它是完整的
我认为我做错了。
解决方案
在您的代码中
If e.Item.ItemType = ListItemType.Item Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If
你应该添加<!>“; OR <!>”;用于检查ItemType是否也是AlternateItem的子句
If e.Item.ItemType = ListItemType.Item OR e.Item.ItemType = ListItemType.AlternateItem Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If
不隶属于 StackOverflow