En este articulo os hablare de como proteger emails de los robots de spam mediante javascript en c#, muchas veces nos vemos obligados a mostrar direcciones de correo electronico en nustras páginas con el riesgo de que esas cuentas caigan en manos de robots spammers y colapsar dichas cuentas de emails de publicidad no deseada. A continuación os dejo una función en c# que sustituira los emails por códigos en javascript que los robots no serán capaces de descifrar:

Función en C# para proteger emails de los robots mediante javascript
  /// <summary>
        /// Función que devuelve un script para proteger un email de los robots
        /// </summary>
        /// <param name="email">Email a proteger</param>
        /// <returns></returns>
        public static string HideEmail(string email)
        {
            string script;
            string character_set  = "+-.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz";
            string key = ShuffleWord(character_set);  //Reordena character_set aleatoriamente
            string cipher_text = "";
            Random rnd = new Random();
            string id = rnd.Next().ToString();
            for (int i=0;i<email.Length;i++)
            {
                cipher_text += key[character_set.IndexOf(email[i])];
            }
            script  = string.Format("var a=\"{0}\";\nvar b=a.split(\"\").sort().join(\"\");\nvar c=\"{1}\";var d=\"\";\nfor(var e=0;e<c.length;e++)d+=b.charAt(a.indexOf(c.charAt(e)));\ndocument.getElementById(\"{2}\").innerHTML=\"<a href='mailto:'\" + d + \"'>\" + d + \"</a>\";",key,cipher_text,id);
            script = "<script type=\"text/javascript\">\n/*<![CDATA[*/" + script + "/*]]>*/\n</script>";
            return "<span id='" + id + "'>\n[email protegido mediante javascript]\n</span>\n" + script;
        }

        /// <summary>
        /// Función que reordena un string de forma aleatoria
        /// </summary>
        /// <param name="s">Cadena a reordenar</param>
        /// <returns></returns>
         public static string ShuffleWord(string s)
         {
            Random r = new Random((int)(new TimeSpan()).Ticks);
            System.Collections.ArrayList arl = new System.Collections.ArrayList();
            string strFinal = String.Empty;
            int temp = 0;
            if (s.Length > 2)
            {
               for (int i = 1; i < s.Length - 1; i++)
               {
                  arl.Add(i);
               }

               for (int c = 1; c < s.Length -1 ; c++)
               {
                    temp = r.Next(arl.Count);
                    strFinal += s[(int)arl[temp]].ToString();
                    arl.RemoveAt(temp);
               }
               strFinal = s[0] + strFinal + s[s.Length-1];
               return strFinal;
            }
               return s;
         }
Código html resultante
<span id='1344355154'>
[email protegido mediante javascript]
</span>
<script type="text/javascript">
/*<![CDATA[*/var a="+hnjV@WtNxDFQaPy.pwbEkmv0_RrZO27KBuXe-HGqMd4AofCL58SgYJ6liUsTI1c93z";
var b=a.split("").sort().join("");
var c="36SosoaCYM5gn46Y";var d="";
for(var e=0;e<c.length;e++)d+=b.charAt(a.indexOf(c.charAt(e)));
document.getElementById("1344355154").innerHTML="<a href='mailto:'" + d + "'>" + d + "</a>";/*]]>*/
</script>

Como siempre para vuestra comodidad tambien os la dejo disponible en pastebin.