1

我有一个使用 C# 和 Visual Studio 创建的网站。

我的 Site.master 中有以下菜单:

<div class="menu">
  <ul>
    <li runat="server" id="liHome">   <a href="Default.aspx">Home</a></li>
    <li runat="server" id="liAbout">  <a href="About.aspx">About</a></li>
    <li runat="server" id="liContact"><a href="ContactUs.aspx">Contact</a></li>
  </ul>
</div>

我有以下CSS:

.menu ul {}
.menu ul li a{padding:9px 10px; display:block; color:#fff; font-size:16px; font-weight:bold;}
.menu ul li a:hover{color:#00ff00; text-decoration:none; }

我想要做的是当单击菜单时,我希望所选菜单项的文本改变并保持不同的颜色。在我的 Site.master.cs 中,我正在为“关于”菜单项执行以下操作,例如:

    if (Request.Url.ToString().Contains("About") == true)
    {   
        liContact.Style.Add("color", "#00ff00");
    }

但颜色不会保持绿色。任何人都可以帮助我了解我做错了什么吗?谢谢

4

2 回答 2

1

活动 Html 链接教程

本教程可帮助您解决问题。

默认情况下,链接将在所有浏览器中显示如下:

未访问的链接带有下划线和蓝色 已访问的链接带有下划线和紫色 活动链接带有下划线和红色

于 2013-03-22T12:21:45.917 回答
1

您可以使用如下

  if (Request.Url.ToString().Contains("About") == true)
  {    
      liContact.Style.Add("color", "#00ff00!important");
  }

你只需要添加!important你的css,它就会起作用。
否则它将被类覆盖。

编辑 1

其他明智的选择不同的课程

.menu ul {}
.menu ul li a{padding:9px 10px; display:block; color:#fff; font-size:16px; font-weight:bold;}
.menu ul li a:hover{color:#00ff00; text-decoration:none; }

.menu ul li.selected a{padding:9px 10px; display:block; color:#00ff00; font-size:16px; 
       font-weight:bold;}

而不是设置颜色替换类。

liContact.Attributes.Remove("class");   
liContact.Attributes.Add("class", "selected");

编辑 2

 .menu ul li.selected a:hover{padding:9px 10px; display:block; color:#00ff00; font-size:16px; 
       font-weight:bold;}
于 2013-03-22T12:27:55.663 回答