我有一个 ParentGridview ,其中包含面板内的 ChildGridview ,位于**ItemTemplateField**
内。现在在编码中我希望得到 ParentGridview ,并且我希望通过它来访问 Panel 但无法实现。
aspx:(*
不要使用语法,我只是在原始代码*
的确切风格中写到这里
<asp:gridview id="ParentGv" runat="server">
<columns>
<asp:templatefield>
<itemtemplate>
<asp:panel id="childpanel" runat="server">
<asp:gridview id="ChildGv" runat="server" onrowcommand="ChildGv_Rowcommand">
<columns>
<asp:templatefield>
<itemtemplate>
<asp:imagebutton id="btndelete" runat="server" CommandName="cmdDelete" CommandArgument='<%# Container.DataItemIndex %>'
</itemtemplate>
</asp:templatefield>
<columns/>
</panel>
</itemtemplate>
</asp:templatefield>
</columns>
mycode的:
protected void ChildGv_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
GridView grdviewCaseHearingsDetails = (GridView)sender;
int index = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "cmdDelete")
{
GridView ChildGv = (GridView)((ImageButton)(e.CommandSource)).Parent.Parent.Parent.Parent;
GridView ParentGv = (GridView)(ParentGv.Parent.Parent.Parent.Parent.Parent);
ParentGv.FindControl("childpanel").Visible = true;
}
但是这让我在最后一行给出错误:
对象引用未设置为对象的实例