我有两页ASP V4.5,它们是Login.aspx作为起始页面和contentMainpage.aspx。 当我在visual studio 2012中测试调试模式时,它正在工作,但是当我尝试在IIS上部署它时,按钮登录没有响应重定向到另一个页面。 问题可能出在Web配置上 我尝试谷歌它2天,无法得到正确的解决方案。 请帮忙。 这里的代码如下:
Imports PurchaseOrderList.Class1
Public Class Login
Inherits System.Web.UI.Page
Dim abmPO As New ServiceReference1.Service1SoapClient
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Session("LoginName") = ""
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
If IsPostBack Then
Dim LoginAutentif As New PurchaseOrderList.Class1
If (LoginAutentif.ValidatePassword(Trim(TxtLoginName.Text), Trim(TxtPassW.Text))) = 0 Then
LblErrorMessage.Visible = True
LblErrorMessage.Text = "Invalid User Name or User Password"
Exit Sub
Else
If (Response.IsClientConnected) Then
Response.Redirect("~/PurchaseOrderHeaders.aspx", False)
Session("LoginName") = TxtLoginName.Text
End If
End If
End If
Catch ex As Exception
End Try
End Sub
End Class
答案 0 :(得分:0)
也许尝试"返回Response.Redirect"。我在MVC5中遇到了这个问题。
答案 1 :(得分:0)
您的问题最有可能与此行有关:
If (Response.IsClientConnected) Then
快速谷歌建议IIS7 / 7.5可能存在一些问题并使用此属性。此外,我不认为这里真的有必要,在长时间运行的例程中使用它会更有意义来检测客户端断开连接或超时。
尝试更改按钮点击以下内容,看看你如何去。
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
If IsPostBack Then
Dim LoginAutentif As New PurchaseOrderList.Class1
If (LoginAutentif.ValidatePassword(Trim(TxtLoginName.Text), Trim(TxtPassW.Text))) = 0 Then
LblErrorMessage.Visible = True
LblErrorMessage.Text = "Invalid User Name or User Password"
Exit Sub
Else
Session("LoginName") = TxtLoginName.Text
Response.Redirect("~/PurchaseOrderHeaders.aspx", True)
End If
End If
Catch ex As Exception
End Try
End Sub