Текстовое поле не объявлено ... не может сделать .text, но только .value - PullRequest
0 голосов
/ 15 апреля 2020

Добрый день,

Очень растерян. Ослепленный. Все .. :-) Я сделал страницу ... это страница:


image

В коде позади страницы я хочу отправить электронное письмо после нажатия [ отправить]. Это код позади.

    `enter code here
    Protected Sub Send_Click(sender As Object, e As System.EventArgs) Handles Send.Click
        If Len(Request("g-recaptcha-response")) > 0 Then
            'Mail versturen
            Dim objMail As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()
            Dim objSMTP As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient()
            Dim objCred As System.Net.NetworkCredential = New System.Net.NetworkCredential()

            Try
                objMail.Subject = "Mail"

                'objMail.From = New System.Net.Mail.MailAddress("sssa@soemhing.com")
                objMail.From = New System.Net.Mail.MailAddress("blabbla@bla.com")

                objSMTP.Host = "secret"
                objCred.UserName = "secret"
                objCred.Password = "secret"
                objSMTP.Credentials = objCred
                objMail.IsBodyHtml = True

                objMail.Body = "Name: " & inputName.Value & "<br>" &
                "Email: " & inputEmail.Value & "<br>" &
                "Phone: " & inputPhone.Value & "<br><br><br>" &
                "Text: " & inputMessage.Value & "<br>"

                objMail.To.Add("blabla@gmail.com")
                objMail.CC.Add(inputEmail.Value) 'Sender CC
                objSMTP.Send(objMail)

                Response.Write("<br/><br/>")
                Response.Write("<center>")
                Response.Write("<h1>Mail sent. You recieve a CC of the message sent. <a href=""Default.aspx"">Home</a></h1>")
                Response.Write("</center>")
            Catch ex As Exception
                Response.Write("<br/><br/>")
                Response.Write("<center>")
                Response.Write("<h1>Error sending mail. Please, contact us in another way.<h1><br><br>Error: " & ex.Message)
                Response.Write("<h1>Email blabla8@gmail.com directly<h1>")


                Response.Write("<br><br><a href=""Default.aspx"">Home</a>")
                Response.Write("</center>")

            End Try
            'objMail = Nothing
        Else
            Response.Write("<h1>You did not check the 'I am not a robot' checkbox.</h1>")
        End If


        Response.End()
    End Sub
End Class

Я действительно не понимаю, почему он говорит в коде позади (когда я строю) ... inputName, inputEmail, inputPhone и inputMessage "BC30451" inputName "это не объявлено. Это может быть недоступно из-за уровня защиты ", и я не могу сделать textbox.text, но я должен сделать textbox.value.

Есть идеи? Я благодарен за то, что прочитал это.

mo3s

1 Ответ

0 голосов
/ 15 апреля 2020

Так как эта разметка:

<input type="text" id="greeting" value="hello" runat="server" />

отображается в коде:

greeting.Value 'hello is the value, greeting is of type System.Web.UI.HtmlControls.HtmlInputText

Если вы хотите поведение текстового поля, используйте текстовое поле:

<asp:TextBox ID="greeting" Text="Hello" runat="server"><asp:/TextBox>

Тогда ваш код:

greeting.Text 'hello
...