我有一个嵌套在转发器控件中的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>
<tr>
<td>
<label Text='<%# Eval("some_data") %>'
</td>
</tr>
</table>
</itemtemplate>
</repeater>
再次上面的标记只是一个例子,它是完整的
我认为我做错了。
答案 0 :(得分:2)
在您的代码中
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