我在Master页面中有隐藏元素。我在后面的母版页代码中设置它的值。我想在其子页面中访问该值。
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
hdnSessionContext.Value = "Some Value";
}
}
.Master Page
<input type="hidden" id="hdnSessionContext" runat="server" clientidmode="Static" />
<asp:ContentPlaceHolder ID="MainContainer" runat="server">
</asp:ContentPlaceHolder>
我尝试了什么(SomeChildPage.aspx.cs)
HtmlInputHidden hdnFieldValue = (HtmlInputHidden)Page.Master.FindControl("hdnSessionContext");
和
HiddenField hdnFieldValue = (HiddenField)Page.Master.FindControl("hdnSessionContext");
但两者的价值均为''
答案 0 :(得分:0)
我会将值传递给子控件。您不希望从子控件调用母版页,因为这会将两者紧密耦合。
答案 1 :(得分:0)
您正在尝试在设置之前访问HiddenField值,您的子页面的页面加载会在主页面的页面加载事件之前触发,这就是您没有获得任何值的原因。
如果要设置值已知,则尝试在.aspx页面中设置它,在这种情况下,您将能够在子页面中获取值。