我在ASP.NET主页面Page_Init事件页面中有代码,用于检查用户是否被授权位于内容页面上,并且是否将其重定向到登录页面。这个代码在检查本身时工作得很好。 但是,我发现上面的重定向后,内容Page_Load事件仍然会触发。 这在假设用户已登录且设置了某些变量的页面上会导致出现问题。在主页面中重定向在内容页面加载前
这是主页代码(简化的)
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
...
If Access_Level > User_Level_ID Then
Response.Redirect("~/login.aspx", False)
End If
End Sub
上述测试工作正常,并执行重定向线,但在此之前下面的代码被触发并执行不生效。
这是内容页代码
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim Rec_IDs As New List(Of String)
Rec_IDs = Session("Rec_IDs")
lblCount.Text = String.Format("You have {0} records in your cart", CType(Rec_IDs.Count, String)) 'this gives an error if Session("Rec_IDs") is null
End Sub
我知道我可以把代码在我的每一个内容的网页,以检查用户是否在/授权记录,但我想从一个位置控制这一切如果可能的话。
我做错了什么?我读过很多页面,说主页面是做检查的地方。
谢谢。 :-)
工程就像一个魅力。非常感谢你。我将你的答案标记为接受,因为你在2分钟内击败了其他人。 :-) –