If you choose this solution the page won't validate anymore, but it works across all browsers and does the job.
in your html you do:
<div class="StyledLinkWrapper">
    <style id="stylemylinks" runat="server"> </style>
    <a href="http://www.xyz.com">a Link</a>
</div>
and in the code behind simply:
 string colorNormal = "blue";
 string colorVisited = "red";
 string colorHover = "white";
 string bghover = "blue";
 StringBuilder style = new StringBuilder();
 style.AppendLine(".StyledLinkWrapper a {");
 style.AppendLine(String.Format(" color: {0};", colorNormal));
 style.AppendLine("}");
 style.AppendLine(".StyledLinkWrapper a:hover {");
 style.AppendLine(String.Format(" color: {0};", colorHover));
 style.AppendLine(String.Format(" background-color: {0};", bghover));
 style.AppendLine("}");
 style.AppendLine(".StyledLinkWrapper a:visited {");
 style.AppendLine(String.Format(" color: {0};", colorVisited));
 style.AppendLine("}");
 stylemylinks.InnerText = style.ToString();
and there you go. Just plain old Css, no fancy Javascript framework or whatever, and you are totally flexible in what  you can do.