所以我有一个用户控件,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事件进行更改
答案 0 :(得分:3)
使用以下代码访问子控件中的隐藏字段。 this.Parent
会给父母控制权&amp;使用FindControl
按ID查找控件。
HiddenField hfID = this.Parent.FindControl("hfId") as HiddenField;
string hiddenvalue = hfID.Value;
如果您在页面加载时更改隐藏字段的值,则在按钮单击时,将反映更新的值。
答案 1 :(得分:1)
您可以使用以下方式访问孩子的控件:
var hfId = (HiddenField)NamingContainer.FindControl("hfId");