0

使用以下功能:

Public Sub SendMail(ByVal SendFrom As String, ByVal SendTo As String, ByVal Subject As String, ByVal Body As String)

    Dim client As New SmtpClient
    Dim message As New MailMessage

    message.Body = Body
    message.Subject = Subject
    message.From = New MailAddress(SendFrom)
    message.To.Add(New MailAddress(SendTo))

    client.Port = "25"
    client.Host = "smtp.myserver.com"

    client.Send(message)

End Sub

我称之为

Protected Sub btnSubmit_Click(sender As Object, e As System.EventArgs) Handles btnSubmit.Click

    Dim iandamsb As New StringBuilder

    iandamsb.AppendLine("Please make the following changes:")
    iandamsb.AppendLine("")
    iandamsb.AppendLine("Current name:" & txtCurrentName.Text)
    iandamsb.AppendLine("New name:" & txtNewName.Text)
    iandamsb.AppendLine("New username:" & txtNewUsername.Text)
    iandamsb.AppendLine("Applications:" & txtOtherApplications.Text)

    Dim iandambody As String = iandamsb.ToString

    SendMail(txtRequesterEmail.Text, "ayockel@mydomain.com", "Name Change Request - " & txtCurrentName.Text, iandambody)

End Sub

它工作得很好,但是它发送的是两封电子邮件而不是一封。谁能弄清楚它为什么要发送副本?

4

1 回答 1

3

我冒昧地猜测您将按钮单击事件绑定了两次:一次通过OnClick标记中的属性:

<asp:Button OnClick="btnSubmit_Click" runat="server" ... />

然后再次通过代码隐藏Handles

Protected Sub btnSubmit_Click(sender As Object, e As System.EventArgs) 
    Handles btnSubmit.Click

如果是这样的话,我会删除其中一个。我会保留后者,以便您知道该btnSubmit_Click事件在编译时已正确连接。

讨论这个问题

于 2012-08-24T20:54:02.913 回答