使用 vb.net 进行响应.重定向

编程


大家好,

我是 vb.net 的新手,正在做一个项目,该项目具有三个模块,例如主页、注册页面和最后使用 ASP.NET 的联系我们页面。 我的问题是联系我们页面,也就是说,用户可以填写我在联系我们页面中创建的联系方式。一旦用户能够填写表格并单击提交按钮,然后它就会显示一个弹出窗口,例如“谢谢”如需联系我们,我们会尽快回复您”(使用脚本)找到下面的代码),我必须点击“确定”按钮才能使该消息消失。 我的问题是,当我单击“确定”按钮时,页面将需要转到主页,但它不会出现在我的代码中。 请找出我在联系我们页面中使用的以下代码。 请给我一滴解决方案,这对我非常有帮助……

我的代码是:

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

解决方案1

这里执行的代码是在服务器端。 您的 Response.Write 正在将 HTML JavaScript 代码发送到浏览器,并且在浏览器中显示警报框之前,将执行 imgLogin_Click 方法内的完整其余代码。 这立即引起我注意这里的一个问题:
由于 Response.Redirect 将信息添加到 HTTP 标头,因此在已经写入流的情况下尝试重定向响应时通常会导致错误。 您可能想要的是在alert(“…”);后面放置一些代码调用将使浏览器导航到您的 Index.asp 就像 窗口.位置.分配(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>")

问候,

— 曼弗雷德

コメント

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