Réponse.Redirection à l’aide de vb.net

la programmation

[ad_1]

Salut tout le monde,

Je suis nouveau sur vb.net, je réalise un projet qui comporte trois modules tels que la page d’accueil, la page d’inscription et enfin la page de contact en utilisant ASP.NET. Mon problème est la page Contactez-nous, c’est-à-dire que l’utilisateur peut remplir les coordonnées que je crée dans la page Contactez-nous. Une fois que l’utilisateur peut remplir le formulaire et cliquer sur le bouton Soumettre, puis afficher une fenêtre contextuelle du type “merci”. pour nous avoir contactés, nous vous répondrons sous peu” (à l’aide d’un script) trouvez le code ci-dessous) et j’ai dû appuyer sur le bouton ok pour que le message disparaisse. ma question est que lorsque je clique sur le bouton OK, la page devra accéder à la page d’accueil mais cela ne va pas dans mon code. veuillez découvrir le code ci-dessous que j’ai utilisé dans la page Contactez-nous. s’il vous plaît donnez-moi une goutte de solution qui m’est très utile…

mon code est :

VB
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

Solution 1

Le code qui s’exécute ici se trouve côté serveur. Votre Response.Write envoie du code HTML JavaScript au navigateur et le reste complet de votre code dans la méthode imgLogin_Click est exécuté avant même que la boîte d’alerte ne soit affichée dans le navigateur. Cela attire immédiatement mon attention sur un problème ici :
Étant donné que Response.Redirect ajoute des informations aux en-têtes HTTP, cela entraîne généralement une erreur lorsque vous essayez de rediriger la réponse alors que celle-ci a déjà écrit dans le flux. Ce que vous voulez probablement, c’est placer du code après l’alerte(“…”); appel qui fera naviguer le navigateur vers votre Index.asp comme fenêtre.location.assign(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>")

Salutations,

—Manfred

[ad_2]

コメント

Titre et URL copiés