我有一个嵌套在转发器控件中的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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top