如何发送电子邮件而不回发

时间:2015-12-28 07:21:31

标签: javascript c# jquery asp.net

form_code.aspx.cs

当我点击按钮时,将CodeRandom发送到电子邮件页面将刷新并且模态丢失。

当我点击按钮

时,我需要没有回发的页面
char[] letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789".ToCharArray();
        Random r = new Random();
        string randomString = "";
        string Code;
        for (int i = 0; i <= 5; i++)
        {
            randomString += letters[r.Next(0, 35)].ToString().Trim();
        }

        Code = "Code : " + randomString;

        MailMessage msg = new MailMessage();

        msg.From = new MailAddress("-----@gmail.com");//from
        msg.To.Add(new MailAddress(txt_email.Text.ToString().Trim()));//
        msg.Subject = "Verify Email by SnaBlack";//ชื่อsubject
        msg.Body = Code.ToString().Trim();
        msg.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;
        smtp.EnableSsl = true;
        smtp.Credentials = new NetworkCredential("------@gmail.com", "------------");//password
        smtp.Timeout = 20000;
        smtp.EnableSsl = true;

2 个答案:

答案 0 :(得分:0)

您可以在asp.net代码中禁用PostBack

<asp:button runat="server" ... OnClientClick="return false" />

或js:

<input type="button" id"sendMail" onclick="callSendMail();return false;"/>

然后你可以通过ajax从js调用你的方法:

$.ajax({
    type: "POST",
    url: mailSendUrl,
    data: param = "",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: successFunc,
    error: errorFunc
});

答案 1 :(得分:0)

您应该通过AJAX技术向服务器发出请求。在client side(您实际生成的HTML页面)上使用JS代码,并使用以下技术之一在server side(.NET Web服务)上请求处理程序:asp.net web api,wcf,web方法( asp.net web forms),asmx(已废弃)。请阅读更多相关信息,因为简单的复制粘贴对您的练习没有帮助。清楚地了解客户端 - 服务器交互将帮助您轻松构建另一个没有SO的样本