使用Previouspage,为什么我在调用方法之前得到"对象为null ..."使用try ... catch时的消息?

时间:2014-04-01 17:46:51

标签: asp.net .net vb.net

我使用了PreviousPage属性,它总能很好地将数据从一个页面传递到另一个页面。最近,我尝试使用try ... catch方法将错误处理添加到我的代码中,将异常保存在文本文件中。使用此方法,我在TitleResultlbl.Text = PreviousPage.TitleProp之类的行上获得以下异常,而程序运行正常。

Exception.message:

  

对象引用未设置为对象的实例。

为什么我会收到此异常?

我使用的是vb.net,页面中的所有引用都是正确的。我们将非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

如果为第一页调用代码,则不会有上一页

If PreviousPage Is Nothing Then
    TitleResultlbl.Text = ""
Else
    TitleResultlbl.Text = PreviousPage.TitleProp
End If

答案 1 :(得分:0)

我发现问题是第二页上的回发问题。事实上,当我点击第二页上的最终批准按钮时,它的Page_Load子被再次调用,并且在从该子句内的第一页访问值之前,没有任何像“If Not IsPostBack”那样的检查。它导致'PreviousPage.TitleProp'再次运行,它无法再找到PreviousPage导致异常!我在Page_Load sub中的代码周围添加了上面的IF子句,它运行正常。