使用母版页时的活动元素
Active elements when using Master pages
如果我设置一个Master page
来显示类似于下面的标题
<ul class="nav nav-pills nav-main" id="mainMenu">
<li>
<a class="dropdown-toggle" href="default.aspx">Home</a>
</li>
<li>
<a href="aboutus.aspx">About Us</a>
</li>
</ul>
我想设置当前页面的元素活动的用户是在所以在html中,它将看起来像这样,如果默认的。Aspx是活动页面
<ul class="nav nav-pills nav-main" id="mainMenu">
<li class="dropdown active"> <%--active--%>
<a class="dropdown-toggle" href="default.aspx">Home</a>
</li>
<li>
<a href="aboutus.aspx">About Us</a>
</li>
</ul>
标题菜单是基于一个现有的模板,所以是所有的html与CSS样式,不包含任何asp:控件。我知道我可以通过设置属性在代码隐藏中做到这一点,但我拉出来的大多数搜索都说可能有更好的方法,或者这里有一个肮脏的解决方案。link2
做这件事的最好方法是什么?
首先你必须将所有的li标签设置为服务器控件
<ul class="nav nav-pills nav-main" id="mainMenu">
<li>
<a class="dropdown-toggle" href="default.aspx" runat="server" id="lidefault">Home</a>
</li>
<li>
<a href="aboutus.aspx" runat="server" id="liabout">About Us</a>
</li>
</ul>
按照上面的方法处理所有的li标签
然后在母版页面加载
string sURL=Request.Url.ToString().ToLower();
if (sURL.Contains("/default.aspx")
lidefault.Attributes.Add("class", "active")
else if (sURL.Contains("/about.aspx")
liabout.Attributes.Add("class", "active")
// do like the above for the rest li tags
你可以用javascript检查。设置foreach循环检查菜单的每个链接。如果您的菜单url等于页面url,则使用. addclass()方法添加活动类。
相关文章:
- 在ajax成功后,cluetip不适用于首次点击活动元素
- 仅悬停一个元素(活动元素)
- 如何在Javascript中获取HTML页面的活动元素
- 取消:活动元素样式
- jquery上的手风琴.我无法关闭活动元素
- 获取活动元素之后的下一个元素
- 由具有内联 JavaScript 的元素赋值的变量中的“this”对所有元素或已赋值的活动元素有效
- 音差 - 确定确切的活动元素
- 停止在活动元素上传播
- 获取画布的活动元素不起作用
- 如何选择我的活动元素所在的 td
- 如何使用 AngularJS 和 AngularFire 存储对“活动元素”的引用
- 基于活动元素自动滑动滚动条
- 如何使用活动元素进行鼠标输入
- jQuery淡入活动元素,淡出不活动元素
- 通过javascript检查活动元素是否有特定的类
- 只隐藏活动元素,而不是全部
- 访问活动元素JavaScript(带或不带angular)
- jQuery悬停,只有活动元素
- Jquery只显示1个活动元素