Questo è il metodo sendMail che assegno all'evento OnClick del bottone mailButton.
<script language="C#" runat="server">
public void sendMail(Object Src, EventArgs E){
//Creo l'oggetto MailMessage
MailMessage mailMsg = new MailMessage();

//Configurazione dei parametri
mailMsg.From = mailFrom.Text;
mailMsg.To = "mia e mail";
mailMsg.Subject = mailSubject.Text;
mailMsg.Body = mailMessage.Text;
//Formato della mail
mailMsg.BodyFormat = MailFormat.Text;
SmtpMail.SmtpServer = "mail.libero.it";
try{
//Invio della mail
SmtpMail.Send(mailMsg);
mailButton.Attributes.Add("OnClick", "alert('Messaggio inviato con successo. Sarete contattati al più presto. Grazie');");
//Pulitura dei campi di testo
mailFrom.Text = "";
mailSubject.Text = "";
mailMessage.Text = "";
}
catch (Exception ex){
//In caso di errore
//mailButton.Attributes.Add("OnClick", "alert('L'e-mail non può essere inviata a causa di un errore interno del server, siete pregati di riprovare più tardi. Grazie');");
}
}
</script>

Quando clicco sul bottone per inviare la mail succede che esegue il corpo del try, cioè: invia la mail, mi pulisce i campi di testo, ma mi salta la visualizzazione dell'alert.
C'è qualcuno che mi può aiutare?

Inoltre se tolgo // dal corpo catch ho sulla barra di stato del browser un errore di javascript anche se la sintassi è giusta come potete vedere.