簡體   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