我一直在寻找一个适当的解决方案,为了给主页面上的菜单项分配“活动/当前”类。对于这个问题,有关是在客户端还是服务器端进行处理的观点存在分歧。
实际上,我对JavaScript和MVC都很陌生,所以我没有意见。我希望用最“清晰”和最合适的方式来解决这个问题。
我有以下jQuery代码来分配“活动”类到<li>项……唯一的问题是“索引”或默认视图菜单项将总是被分配活动类,因为URL总是其他菜单链接的子字符串:
(default) index = localhost/
link 1 = localhost/home/link1
link 2 = localhost/home/link1
$(function () {
var str = location.href.toLowerCase();
$('#nav ul li a').each(function() {
if (str.indexOf(this.href.toLowerCase()) > -1) {
$(this).parent().attr("class","active"); //hightlight parent tab
}
});
有更好的方法吗?能否帮忙让客户端版本做到无懈可击?使得“index”或默认链接始终处于“活动”状态?是否可以给索引方法分配一个虚拟扩展名?例如,不仅仅是基本 URL,而是 localhost/home/dashboard
,这样它就不会成为每个链接的子字符串了?说实话,我并不真正理解服务器端的方法,这就是为什么我试图在客户端使用 jQuery 来完成…感谢任何帮助。
RouteData.Value["foobar"]
。 - Darin Dimitrov