繁体   English   中英

在母版页中访问控件背后的代码

[英]Accessing Code Behind for a Control in a Master Page

我需要在一组页面上一致地显示控件。 因此,我正在使用MasterPage在ASP.NET/C#中执行此操作。 但是,我还需要以编程方式访问此控件,主要是根据是否单击控件复选框提供查看/隐藏选项。

这是MasterPage的来源

<div id="verifyInitial" runat="server">
    <asp:CheckBox ID="chkInitialVerify" runat="server" 
    oncheckedchanged="chkInitialVerify_CheckedChanged" />
    I agree that my initial data is correct.
</div>

<div id="verifyContinuous" runat="server">
    <asp:CheckBox ID="chkContinuousVerify" runat="server" 
    oncheckedchanged="chkContinuousVerify_CheckedChanged" />
    I agree that my continuous data is correct
</div>

现在,在后面的代码中,我想执行以下操作。 基本上,如果某人单击初始div框的复选框,则初始框会消失,并且会出现连续框。 但是,每当我单击复选框时,似乎MasterPage后面的代码都不会激活。 这就是MasterPages的设计方式吗? 我一直认为您可以添加一些控制功能,而不是利用母版页上的页面加载。

protected void chkInitialVerify_CheckedChanged(object sender, EventArgs e)
{
    verifyContinuous.Visible = true;
    verifyInitial.Visible = false;
}


protected void chkContinuousVerify_CheckedChanged(object sender, EventArgs e)
{
    verifyContinuous.Visible = false;
}

如果你期待这两个控件来触发该页面的改变立即那么你就需要到设置AutoPostBack属性为true对他们俩的:

<div id="verifyInitial" runat="server">
    <asp:CheckBox ID="chkInitialVerify" runat="server"  oncheckedchanged="chkInitialVerify_CheckedChanged" AutoPostBack="true" />
    I agree that my initial data is correct.
</div>

<div id="verifyContinuous" runat="server">
    <asp:CheckBox ID="chkContinuousVerify" runat="server" oncheckedchanged="chkContinuousVerify_CheckedChanged" AutoPostBack="true" />
    I agree that my continuous data is correct
</div>

否则,您需要页面上的<asp:button />或其他控件来触发回发并导致事件处理程序运行。 该按钮或其他控件可以在您的母版页或内容页上,完全由您选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM