2013-03-05 59 views
0

美好的一天向服务器端添加提醒消息提交按钮

我正在使用asp.net发送电子邮件。当点击“查询”或“提交”按钮时,电子邮件会发送,但我不知道如何让用户确认电子邮件已发送。

我该怎么做?

HTML:

<tr><td colspan="2"><asp:Button class="btn btn-success" ID="ButtonEnquire" OnClick="Button1_Click" runat="server" Text="Enquire" /></td></tr> 

服务器端代码背后:使用系统

; using System.Collections.Generic;使用System.Linq的 ; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;

namespace Contact.Secure 
{ 
    public partial class Corporate : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
      { 
       PopulateDropDownTypeofCards(); 
      } 
      //DropDownTypeofCards.DataSource = Enums.EnumList.CreateList(typeof(Enums.ContactMethodTypes)); 
      //DropDownList1.DataTextField = "EnumDescription"; 
      //DropDownList1.DataValueField = "EnumValue"; 

      //DropDownList1.DataBind(); 
     } 

     private void PopulateDropDownTypeofCards() 
     { 
      DropDownTypeofCards.DataSource = Enums.EnumList.CreateList(typeof(Enums.CardTypes)); 
      DropDownTypeofCards.DataTextField = "EnumDescription"; 
      DropDownTypeofCards.DataValueField = "EnumValue"; 

      DropDownTypeofCards.DataBind(); 
     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      var html = string.Format("<html><head></head><body>{0}<br/>{1}<br />{2}<br />{3}<br />{4}<br />{5}</body></html>", TextBoxName.Text, TextBoxEmailAddress.Text, TextBoxCompanyName.Text, TextBoxCompanyAddress.Text, TextBoxPhoneNumber.Text, TextBoxAmiuntofCardstoSubscribe.Text, DropDownTypeofCards.Text); 



      SendEmail(System.Configuration.ConfigurationManager.AppSettings["ContactUsFormSubmission"].ToString(), "Form Submission", html, true, "[email protected]", true, 587); 

     } 

     public static void SendEmail(string toEmail, string subject, string body, bool isHTML = false, string fromAddress = null, bool enableSSL = false, int SSLPort = 465, string[] Attachment = null) 
     { 


      try 
      { 
       if (bool.Parse(System.Configuration.ConfigurationManager.AppSettings["SendEmail"].ToString())) 
       { 
        System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); 

        message.To.Add(toEmail); 
        message.Subject = subject; 

        if (string.IsNullOrEmpty(fromAddress) || string.IsNullOrWhiteSpace(fromAddress)) 
        { 
         message.From = new System.Net.Mail.MailAddress(System.Configuration.ConfigurationManager.AppSettings["SMTPFromAddress"].ToString()); 
        } 
        else 
        { 

         message.From = new System.Net.Mail.MailAddress(fromAddress); 
        } 

        message.IsBodyHtml = isHTML; 

        message.Body = body; 

        if (enableSSL) 
        { 

        } 

        if (Attachment != null) 
        { 
         if (Attachment.Count() > 0) 
         { 
          foreach (string a in Attachment) 
          { 
           System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(a); 

           message.Attachments.Add(attachment); 
          } 
         } 
        } 
        System.Net.Mail.SmtpClient smtp; 
        if (enableSSL) 
        { 
         smtp = new System.Net.Mail.SmtpClient(System.Configuration.ConfigurationManager.AppSettings["SMTPServer"].ToString(), SSLPort); 
         smtp.UseDefaultCredentials = false; 
        } 
        else 
        { 
         smtp = new System.Net.Mail.SmtpClient(System.Configuration.ConfigurationManager.AppSettings["SMTPServer"].ToString(), SSLPort); 
         smtp.UseDefaultCredentials = false; 
        } 

        smtp.Credentials = new System.Net.NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["SMTPUser"].ToString(), System.Configuration.ConfigurationManager.AppSettings["SMTPPassword"].ToString()); 

        smtp.EnableSsl = enableSSL; 

        smtp.Timeout = 60000; 


        try 
        { 
         smtp.Send(message); 
        } 
        catch 
        { 
         throw; 
        } 
       } 
      } 
      catch (Exception) 
      { 
       throw; 
      } 
     } 


    } 
} 
+0

你应该阅读本教程http://weblogs.asp.net/bleroy/archive/2005/12/01/asp-net-alerts-how-to-display-message-boxes-from-server-side- code.aspx – freshbm 2013-03-05 13:59:53

回答

1

你可以将此代码添加到您的方法用于发送电子邮件,在成功的邮寄

var message = "Email has been sent"; 

string script = "<script language=\"javascript\" type=\"text/javascript\">;alert('" + message + "');</script>"; 

ScriptManager.RegisterStartupScript(Page, this.GetType(), "AlertMessage", script, false); 

它会显示JavaScript和您的信息提示。

+0

谢谢。发挥魅力。感谢你的帮助 – DextrousDave 2013-03-05 14:18:24