从子用户控件访问父用户控件中的对象

本文关键字:控件 用户 对象 访问 | 更新日期: 2023-09-27 18:29:24

所以我有一个用户控件Parent.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Parent.ascx.cs" 
    Inherits="Parent" %>
<%@ Register TagPrefix="cc" TagName="Child" Src="~/Child.ascx" %>
<asp:HiddenField ID="hfId" runat="server" />
<cc:Child ID="child1" runat="server" />

我的子控件child.ascx包含一个按钮,在后面的代码中,我想访问该按钮的点击事件中隐藏字段hfId的值

我不能使用用户控件属性并在Page_Load上设置它,因为该隐藏字段的值正在通过Parent.ascx控件中的jQuery事件进行更改

从子用户控件访问父用户控件中的对象

使用以下代码访问子控件中的隐藏字段。CCD_ 3将给予父控制&使用FindControl通过ID查找控件。

HiddenField hfID = this.Parent.FindControl("hfId") as HiddenField;
string hiddenvalue = hfID.Value;

如果您在页面加载时更改隐藏字段的值,然后单击按钮,更新后的值就会得到反映。

您可以使用:从子级访问控件

var hfId = (HiddenField)NamingContainer.FindControl("hfId");