0

当我导航到其他页面时,我正在尝试更改母版页中超链接的颜色。

这是我认为可以工作的母版页 page_load 中的代码。

 if(!IsPostBack)
    {
    if(Session["Clicked"]=="HyperLink1"){HyperLink1.Style.Add("color", "#009900")};
    if(Session["Clicked"]=="HyperLink2"){HyperLink2.Style.Add("color", "#009900")};
    if(Session["Clicked"]=="HyperLink3"){HyperLink3.Style.Add("color", "#009900")};
    if(Session["Clicked"]=="HyperLink4"){HyperLink4.Style.Add("color", "#009900")};
    if(Session["Clicked"]=="HyperLink5"){HyperLink5.Style.Add("color", "#009900")};
    }

然后在每个页面中,我在该页面的 page_load 下写了类似的内容。

if(!IsPostBack)
  {
      Session["Clicked"]="HyperLink3";
  }

我得到一个“预期的;” 当我运行这个错误。但坦率地说,我尝试了很多来摆脱它。我知道这是非常简单的事情,但我找不到它。这甚至是更改超链接颜色的正确方法吗?

4

3 回答 3

3

分号用于语句而不是括号

 if(!IsPostBack)
{
if(Session["Clicked"]=="HyperLink1"){HyperLink1.Style.Add("color", "#009900");}
if(Session["Clicked"]=="HyperLink2"){HyperLink2.Style.Add("color", "#009900");}
if(Session["Clicked"]=="HyperLink3"){HyperLink3.Style.Add("color", "#009900");}
if(Session["Clicked"]=="HyperLink4"){HyperLink4.Style.Add("color", "#009900");}
if(Session["Clicked"]=="HyperLink5"){HyperLink5.Style.Add("color", "#009900");}
}

这就是为什么你会被期待;

ASP 超链接

<asp:HyperLink id="homelink" CssClass="linkstuff" runat="server">

.linkstuff a:visited{
      color: #009900;
 }
于 2012-12-24T15:15:55.120 回答
2

正确的方法是使用样式表:

a:visited {
     color: #009900;
}
于 2012-12-24T15:15:39.140 回答
2

对于常规超链接来说,这似乎是一个巨大的过度杀伤力。你有什么理由不使用 CSS ":visited" 选择器?

在您的 CSS 定义中,添加

a:visited
{
color: #009900;
}
于 2012-12-24T15:16:08.897 回答