1

我有一个嵌套在转发器控件中的 gridview 控件。


转发器控件在页面加载时是数据绑定的,并且在 itemdatabound 事件中我寻找 gridview 控件

If e.Item.ItemType = ListItemType.Item Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If

在这一切发生之后,我的页面正在显示中继器控件数据和网格视图中的数据,但问题是只有备用网格视图有数据,即中继器控件中的第 1、3、5 行...... 6...不显示数据

标记是 - 只是一个例子

<repeater>
<itemtemplate>
<table>
<tr>
<td>
<gridview />
</td>
</tr>
<tr>
<td>
<label Text='<%# Eval("some_data") %>'
</td>
</tr>
</table>
</itemtemplate>
</repeater>

再次,上面的标记只是一个例子,它是完整的

我想我做错了什么。

4

1 回答 1

3

在您的代码中

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
于 2009-03-09T05:00:07.777 回答