use*_*164 7 vb.net asp.net email
我使用下面的代码生成电子邮件.出于某种原因,随机发送一封重复的电子邮件.它不会一直发生,一个月只发生几次.您是否看到任何可能导致此问题的代码?当用户单击页面上的提交按钮时会触发它.我可以添加一些东西来防止这种情况发生吗?TIA
Try
Dim Attachment As String
Attachment = path + myUniqueFileName
Dim mailMessage As MailMessage = New MailMessage
mailMessage.From = New MailAddress("Test@Test.com")
mailMessage.Subject = "Report " + " " + myUniqueFileName
mailMessage.IsBodyHtml = True
mailMessage.To.Add(New MailAddress(Session("EmailAddress")))
mailMessage.Attachments.Add(New Attachment(Attachment))
mailMessage.Body = "Attached is your report"
Dim smtp As SmtpClient = New SmtpClient
smtp.Host = "mail.net"
Dim NetworkCred As System.Net.NetworkCredential = New System.Net.NetworkCredential
smtp.Credentials = New NetworkCredential("test", "test")
smtp.UseDefaultCredentials = False
smtp.Send(mailMessage)
Catch ex As Exception
Dim message As String = ex.ToString
Dim sb As New System.Text.StringBuilder()
sb.Append("<script type = 'text/javascript'>")
sb.Append("window.onload=function(){")
sb.Append("alert('")
sb.Append(message)
sb.Append("\n")
sb.Append(String.Format("{0:f2}", Convert.ToDouble(TotalAmount)))
sb.Append("')};")
sb.Append("</script>")
ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", sb.ToString())
End Try
Run Code Online (Sandbox Code Playgroud)
图像按钮代码:
<asp:ImageButton ID="cmdFinish" runat="server" Height="38px" ImageUrl="~/Images/Finish.png" Width="99px" UseSubmitBehavior="false" OnClientClick="this.disabled = true; this.value = 'Sending...';" Text="Send" />
Run Code Online (Sandbox Code Playgroud)
我以前也遇到过同样的问题,所以我想我可以分享我的解决方案:
这是我的按钮标记代码,以避免再次重新单击它:
<asp:Button ID="btnSend" runat="server" CssClass="btn btn-primary" Width="150px" UseSubmitBehavior="false" OnClientClick="this.disabled = true; this.value = 'Sending...';" Text="Send" />
Run Code Online (Sandbox Code Playgroud)
注意OnClientClick="this.disabled = true; this.value = 'Sending...'。
单击按钮后,它将禁用您的按钮并更改其文本。
另外,为了避免刷新页面时重新保存/重新提交/重新发送数据,我刚刚回忆了我的表单:
Response.Redirect("~/yourForm.aspx")
Run Code Online (Sandbox Code Playgroud)