繁体   English   中英

ASP.Net中带有System.Net.Mail的警报消息

[英]Alert Message in ASP.Net with System.Net.Mail

这是我的代码

  protected void Unnamed_Click(object sender, EventArgs e)
    {
        try
        {
            System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
            mail.To.Add(ConfigurationManager.AppSettings["EmailTo"].ToString());
            mail.From = new MailAddress(ConfigurationManager.AppSettings["EmailUse"].ToString(), "Contacto_PortalWeb", System.Text.Encoding.UTF8);
            mail.Subject = txtsubject.Text;
            mail.SubjectEncoding = System.Text.Encoding.UTF8;
            mail.Body = "Nombre: " + txtName.Text + "<br/><br/>Correo: " + txtemail.Text + "<br/><br/>Telefóno: " + txtphone.Text + "<br/><br/>Compañia: " + txtcmpnm.Text + "<br/><br/>Contenido: <br/>" + txtmsg.Text;
            mail.BodyEncoding = System.Text.Encoding.UTF8;
            mail.IsBodyHtml = true;
            mail.Priority = MailPriority.High;
            //SMTP CLIENT
            SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["smtp"].ToString());
            client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["EmailUse"].ToString(), ConfigurationManager.AppSettings["Password"].ToString());
            client.Port = int.Parse(ConfigurationManager.AppSettings["Port"].ToString());
            client.Host = ConfigurationManager.AppSettings["smtp"].ToString();
            client.EnableSsl = true;

            ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertMessage", "alert('Mensaje enviado!');", true);
            CleartextBoxes(this);
        }
        catch (Exception ex)
        {
            Exception ex2 = ex;
            string errorMessage = string.Empty;
            while (ex2 != null)
            {
                errorMessage += ex2.ToString();
                ex2 = ex2.InnerException;
            }
            //ClientScript.RegisterStartupScript(Page.GetType(), "UserMsg", "<script type='text / javascript'>alert('Not send');if(alert){ window.location='contact.aspx';}</script>", true);

            ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertMessage", "alert('Por favor intentalo nuevamente ' "+ex2.ToString()+");", true);
        }
    }

我有一个奇怪的问题,是关于消息的,当用户发送消息时,这项工作总是在我的电子邮件中到达,但是我想要的是当用户提供“提交”按钮但不显示时,显示一个警报窗口类型“已发送消息”显示警报窗口的成就...那么如何显示此警报?

如果您的页面上有一个ScriptManager,这应该可以工作...

 ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertMessage","alert('Message sent!)');", true);

回答第二个问题

好的,您实际上并没有在try块中的任何地方调用client.Send()。 这就是为什么您总是看到'Mensaje enviado!'的原因。 警报消息,当您期望它失败时。

client.EnableSsl = true;下添加以下行client.EnableSsl = true;

client.Send(mail);   

如果发送邮件时没有引发异常,您将看到“ Mensaje enviado!”。 警报消息。

如果发生异常,则Catch块中的代码将运行,并且应显示“ Poravour intentalo nuevamente”警报消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM