4

所以我有一个用户控件,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 事件发生变化

4

2 回答 2

3

使用以下代码从子控件访问隐藏字段。this.Parent将给父控件并用于FindControl通过 ID 查找控件。

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

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

于 2013-08-27T18:23:42.383 回答
1

您可以使用以下方式从孩子访问控件:

var hfId = (HiddenField)NamingContainer.FindControl("hfId");
于 2013-08-27T18:03:43.860 回答