1

助けてください

sendMail 関数を使用してメールを送信しています。ボタンをクリックすると、メールが送信されます。しかし、代わりに、1 回のクリックで 2 つのメールが連続して送信されており、理由がわかりません。この問題を知っている人がいれば助けてください。

以下はsendMailへの私のVBコードです....

Protected Sub btnsend_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ 
    Handles btnsend.Click

    'Response.Write("<Script> alert('" & Request.QueryString("id").ToString() & "');</Script>")
    Dim str_smtpserver As String = DotNetNuke.Entities.Host.HostSettings.GetHostSetting("SMTPServer")
    Dim str_auth As String = DotNetNuke.Entities.Host.HostSettings.GetHostSetting("SMTPAuthentication")
    Dim str_uname As String = DotNetNuke.Entities.Host.HostSettings.GetHostSetting("SMTPUsername")
    Dim str_pass As String = DotNetNuke.Entities.Host.HostSettings.GetHostSetting("SMTPPassword")

    Dim str_sub As String = "Message "

    Dim tobody As String

    Dim value As String = Request.QueryString("id").ToString()

    Dim ds_staff = New DataSet()

    ds_staff = DotNetNuke.Data.DataProvider.Instance().ExecuteDataSet("GetToEmailFromDB", value)
    tobody = "<table border='1px'>"

    tobody += "<tr><td style='width:90px;'>Name :</td><td>" & txtname.Text & "</td></tr>"
    tobody += "<tr><td style='width:90px;'>Email :</td><td>" & txtemail.Text & "</td></tr>"
    tobody += "<tr><td style='width:120px;'>Message :</td><td>" & txtmessage.Text & "</td></tr>"

    tobody += "</table>"

    fromid = "test@test.org"
    Dim rVal As String = DotNetNuke.Services.Mail.Mail.SendMail(fromid, ds_staff.Tables(0).Rows(0)("email").ToString(), "", "", DotNetNuke.Services.Mail.MailPriority.Normal, str_sub, DotNetNuke.Services.Mail.MailFormat.Html, System.Text.Encoding.UTF8, tobody, "", str_smtpserver, str_auth, str_uname, str_pass)
    If (rVal = "") Then
        Page.ClientScript.RegisterStartupScript(Page.GetType(), "err_msg", "alert('Your message has been sent.');", True)
    Else
        Page.ClientScript.RegisterStartupScript(Page.GetType(), "err_msg", "alert('Invalid Email ID.');", True)
    End If

    Response.Redirect("home.aspx", True)
End Sub
4

1 に答える 1

0

イベント ハンドラーは、ボタンのクリック イベントに何度も関連付けられている可能性があります。

おそらく、aspx ファイルで 1 回、コード ビハインド (OnInit?) ファイルで 1 回実行します。

于 2013-06-13T12:16:54.047 に答える