我有一个空白中继器嵌套在 GridView 的列中,并希望使用 GridView 中的按钮通过后面的代码按需填充中继器。我在引用按钮的 onCommand 子中的中继器时遇到了困难。
这是相关的标记:
<asp:GridView ID="Submission" runat="server" AllowPaging="true" AllowSorting="true" />
<Columns>
..........
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:ImageButton ID="AdminEditSubmission" runat="server" ImageUrl="edit_15.png"
alt="" OnCommand="loadDetails" CommandArgument="X" />
</ItemTemplate>
</asp:TemplateField>
..........
<asp:TemplateField>
<ItemTemplate>
<asp:Repeater ID="RptSubmissionDetail" runat="server">
</asp:Repeater>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
为了这个小例子,我将尝试用“Hello world”更新转发器的标题。但是,当它到达最后一行时,我得到了可怕的“对象引用未设置为对象的实例”错误。
Sub loadDetails(sender As Object, e As CommandEventArgs)
Dim rpt As Repeater = CType(Page.FindControl("RptsSubmissionDetail"), Repeater)
Dim tmpHdr As TemplateBuilder = New TemplateBuilder
tmpHdr.AppendLiteralString("Hello World")
rpt.HeaderTemplate = tmpHdr
End Sub
谁能告诉我如何从我的 ImageButton click sub 中引用这个中继器?我已经尝试了几个,Page.FindControl("RptsSubmissionDetail")只是我最近的尝试。