我在ASP.Net上创建了一个公共属性,它拥有一个实体的会话。其目的是在用户在表单上填写许多步骤时添加实体,然后将整个批次保存到数据库中。但是,当我去使用会话时,我收到错误“对象引用未设置为对象的实例”。
这是我的代码:
Public ReadOnly BreadQuestionnaire as Bread
Implements IQuestionnaire.BreadQuestionnaire
Get
If Me.Session("BreadQuestionnaire") Is Nothing Then
Me.Session("BreadQuestionnaire") = New Bread()
End If
Return TryCast(Me.Session("BreadQuestionnaire"),Bread)
End Get
End Property
它基于我在C#中使用过的代码,以前从未给我任何麻烦,但是我已经把VB.Net给了我。
那么,任何人都可以帮助我吗?
答案 0 :(得分:0)
system.web.httpcontext.current.session.add("BreadQuestionnaire", Bread)
我不确定我。激情会起作用 - 该属性是属于页面类还是属于它自己?无论哪种方式使用httpcontext.current都应该始终可用。
你要两次检索会话,你可以一次性完成:
Public ReadOnly BreadQuestionnaire as Bread
Implements IQuestionnaire.BreadQuestionnaire
Get
Dim _sessionBread = system.web.httpcontext.current.session("BreadQuestionnaire")
If_sessionBread Is Nothing Then
Dim _bread As New Bread
system.web.httpcontext.current.session.add("BreadQuestionnaire", _bread)
Return _bread
Else
Return _sessionBread
End If
End Get
End Property