У меня есть asp:DataGrid
, в котором есть asp:Gridview
, и в нем много вложенных asp:Repeater
, и я пытаюсь сослаться на вложенный ретранслятор из моей OnItemDataBound
функции
Мой код похож на этот
<asp:Datagrid runat="server" id="DataGrid1" OnItemDataBound="ItemDB" AutoGenerateColumns="false" Gridlines="None">
<Columns>
<asp:TemplateColumn HeaderText="">
<ItemTemplate>
<asp:GridView id="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<p>Test</p>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:Datagrid>
немного сложно, но с этим я и работаю.
В моей команде ItemDB
у меня есть
Sub ItemDB(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)
Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView)
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
If CType(e.Item.FindControl("GridView1"), GridView).Visible = True Then
CType(e.Item.FindControl("Repeater"), GridView).Visible = True
End If
End If
End Sub
но я получаю ошибку
Ссылка на объект не установлена для экземпляра объекта
и я предполагаю, что это потому, что я ссылаюсь на Repeater в GridView
Есть идеи, как правильно ссылаться на это?
Этот код может быть не самым простым способом сделать это, но я взял на себя чужую работу и мне нужно быстрое исправление, прежде чем перекодировать все это
Заранее спасибо