【发布时间】:2012-05-14 20:23:54
【问题描述】:
我正在尝试使用 VB.NET 使用以下代码在 ASP.NET 中访问您之前的页面:
Partial Class _Default Inherits Page
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim previousPage As String = Page.Request.UrlReferrer.ToString
If (Request.UrlReferrer <> Nothing) Then
If previousPage.Contains("Login") Then
Dim tUsername As String = Session("Username")
lblUsername.Text = "Welcome, " + tUsername
ElseIf previousPage.Contains("Register") Then
Dim cUsername As String = Session("CUsername")
lblUsername.Text = "Welcome, " + cUsername
Else
lblUsername.Text = "Welcome, Guest"
End If
End If
End Sub
End Class
我收到此错误:
对象引用未设置为对象的实例。
在:
Dim previousPage As String = Page.Request.UrlReferrer.ToString
我想要做的是访问上一个页面,这样我就可以获得一个会话变量。
【问题讨论】:
-
好吧,检查 Page.Request.UrlReferrer 如果它不为空,那么继续你的代码? Page.Request.UrlReferrer 可能为空,请查看文档。另外,为什么不使用 HttpContext.Current.User.Name 或类似的,而是将其保存到 Session?
-
什么意思?我在上一页中使用了吗?
-
将
Dim previousPage As String = Page.Request.UrlReferrer.ToString移动到If (Request.UrlReferrer <> Nothing) Then块内。这将停止空引用错误。 -
谢谢!但是它应该显示“欢迎,客人”的部分不起作用,即如果新来者来到该网站,则不会显示任何内容。
-
请尝试我的回答并告诉我。
标签: asp.net vb.net exception-handling httprequest nullreferenceexception