Respuesta. Redirigir usando vb.net

programación


Hola a todos,

Soy nuevo en vb.net, estoy haciendo un proyecto que tiene tres módulos, como la página de inicio, la página de registro y finalmente la página de contacto usando ASP.NET. Mi problema es la página de contacto, es decir, el usuario puede completar los datos de contacto que creo en la página de contacto. Una vez que el usuario puede completar el formulario y hacer clic en el botón enviar, aparece una ventana emergente como “gracias”. por contactarnos. Nos comunicaremos con usted en breve” (usando el script, busque el siguiente código) y tuve que tocar el botón Aceptar para que el mensaje desapareciera. Mi pregunta es que cuando hago clic en el botón Aceptar, la página deberá ir a la página de inicio, pero no aparece en mi código. Descubra el siguiente código que utilicé en la página de contacto. por favor dame una gota de solución que me es muy útil…

mi código es:

V.B.
Protected Sub imgLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles imgLogin.Click
        Dim resulttosend As String
        Dim subject As String = "  User Request:"
        Dim msgto As String = ConfigurationManager.AppSettings("contactus_email")
        Dim msgfrom As String = ConfigurationManager.AppSettings("SendMail_from")
        Dim msgcc As String = ""
        Dim msgbcc As String = ""
        Dim msgdesc As String
        msgdesc = "Hi Administrator,<br><br>" & _
                        "Name: " & Txtname.Text & "<br>" & _
                        "City: " & txtCompany.Text & "<br>" & _
                        "Tel: " & Txttelephone.Text & "<br>" & _
                        "Email: " & Txtemail.Text & "<br>" & _
                        "Additional Information: " & Txtinfo.Text & "<br>"


        Dim clsobj As clsCommon = New clsCommon

        resulttosend = clsobj.fnsendMail(msgfrom, msgto, msgcc, msgbcc, subject, msgdesc)

        If resulttosend = "" Then
            
            Response.Write("<script language='javascript'>alert('Thank you for contacting us. We will get back to you shortly');</script>")
Response.Redirect("Index.aspx")
            txtCompany.Text = ""
            Txtemail.Text = ""
            Txttelephone.Text = ""
            Txtinfo.Text = ""
        Else
            lblStatus.Text = resulttosend
           
            Trace.Warn("ibSend_Click", "exception occured sending mail-->" & resulttosend)
        End If
    End Sub

Solución 1

El código que se ejecuta aquí está en el lado del servidor. Su Response.Write envía código HTML JavaScript al navegador y el resto completo de su código dentro del método imgLogin_Click se ejecuta incluso antes de que se muestre el cuadro de alerta en el navegador. Esto inmediatamente me llama la atención sobre un problema aquí:
Dado que Response.Redirect agrega información a los encabezados HTTP, generalmente genera un error al intentar redirigir la respuesta cuando ya se ha escrito en la secuencia. Lo que probablemente quieras es colocar algún código después de la alerta(“…”); llamada que hará que el navegador navegue hasta su Index.asp como ventana.ubicación.asignar(url)[^].

Response.Write("<script language='javascript'>alert('Thank you for contacting us. We will get back to you shortly'); window.location.assign('http://you.domain.xx/path/Index.asp');</script>")

Saludos,

— Manfredo

コメント

タイトルとURLをコピーしました