HTMLControl Style.Add

时间:2013-03-22 12:15:16

标签: c# asp.net html css

我有一个使用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");
    }

但颜色不会保持绿色。 anyoe可以帮我解决我做错的事吗? 感谢

2 个答案:

答案 0 :(得分:1)

Active Html Link tutorial

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

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

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

答案 1 :(得分: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;}