簡體   English   中英

如何從 ASP 中的代碼訪問站點母版頁控件?

[英]How to access site master page controls from code behind in ASP?

我在我的站點母版頁中設置了導航欄,我試圖從引用它的每個頁面后面的代碼訪問它,以便更改頁面加載事件上的“活動”選定項。 我已經將每個 li 標簽設置為一個唯一的 id 並設置為 runat="server" 但我仍然無法引用它。 這是我目前在母版頁上的內容。

<nav class="navbar navbar-inverse">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
        </div>
        <div class="collapse navbar-collapse" id="myNavbar2" >
            <ul class="nav navbar-nav">
                <li class="active" id="nbHome" runat="server"><a href="HomePage.aspx">Home</a></li>
                <li><a href="Gallery.aspx" id="nbGallery" runat="server">Gallery</a></li>
                <li><a href="Services.aspx" id="nbServices" runat="server">Services</a></li>
                <li><a href="Tutorials.aspx" id="nbTutorials" runat="server">Tutorials</a></li>
                <li><a href="FAQ.aspx" id="nbFAQ" runat="server">F.A.Q.</a></li>
                <li><a href="Contact.aspx" id="nbContact" runat="server">Contact</a></li>
            </ul>
        </div>
    </div>
</nav>

您可以使用FindControl在 Master 中查找HtmlControl

HtmlControl control = Master.FindControl("nbGallery") as HtmlControl;
control.Attributes.Add("class", "active");

這需要using System.Web.UI.HtmlControls; 在 .cs 文件的頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM