访问ASP.来自子GridView中OnRowDataBound事件的中的父GridView中的NET控件

本文关键字:GridView 中的 NET 控件 ASP 事件 访问 OnRowDataBound | 更新日期: 2023-09-27 18:00:44

我的ASP上有以下标记片段。NET页面

<asp:GridView ID="gvParent" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:HiddenField ID="hfAppID" runat="server" />
                <asp:GridView id="gvChild" runat="server" AutoGenerateColumns="false" OnRowDataBound="gvChild_RowDataBound" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

我需要访问分配给gvChild_RowDataBound事件中hfAppID隐藏字段控件的值

protected void gvChild_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        //need to access the hfAppId hidden field control from parent here
    }
}

我将如何完成这项任务?

访问ASP.来自子GridView中OnRowDataBound事件的中的父GridView中的NET控件

您可以使用父级。FindControl

protected void gvChild_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        var gvChild = sender as GridView;    
        var hfAppID = gvChild.Parent.FindControl("hfAppID") as HiddenField;
        var id = hfAppID.Value;
    }
}