我需要在一组页面中一致地显示控件。所以我在ASP.NET / C#中使用MasterPage来做到这一点。但是我还需要以编程方式访问此控件,主要提供查看/隐藏选项,具体取决于是否单击了控件复选框。
这是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;
}
答案 0 :(得分:1)
如果您希望这两个控件立即触发该页面的更改,那么您需要将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 />
或其他控件来触发回发并使您的事件处理程序运行。按钮或其他控件可以位于您的母版页或内容页面上,完全由您自己选择。