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.