>我在网站母版页中设置了导航栏,并尝试从引用它的每个页面后面的代码访问它,以便更改 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;
。