如何从 ASP 中的代码隐藏访问网站母版页控件



>我在网站母版页中设置了导航栏,并尝试从引用它的每个页面后面的代码访问它,以便更改 pageload 事件上的"活动"选定项。我已经将每个 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");

这需要在.cs文件的顶部using System.Web.UI.HtmlControls;

最新更新