asp.net-mvc - VB.Net 中的 ASP.Net session

标签 asp.net-mvc vb.net session

我在我的 ASP.Net 上创建了一个公共(public)属性,它持有一个实体的 session 。其目的是当用户在表单上填写多个步骤时添加实体,然后将整个批处理保存到数据库中。但是,当我去使用 session 时,出现错误“对象引用未设置为对象的实例”。

这是我的代码:

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 强加给了我。

那么,有人能帮帮我吗?

最佳答案

system.web.httpcontext.current.session.add("面包问卷", Bread)

我不确定 me.session 是否有效 - 该属性属于页面类还是它自己的?使用 httpcontext.current 的任何一种方式都应该始终可用。

而且你要检索 session 两次,你可以一次完成:

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

关于asp.net-mvc - VB.Net 中的 ASP.Net session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12724108/

相关文章:

VB.NET Web 服务连接不可能 : "Could not create SSL/TLS secure channel"

vb.net - VB.NET 中的日期时间问题

c# - 发布时定义的 DEBUG

asp.net-mvc - ASP.NET Web.config 身份验证/授权设置

asp.net-mvc - MVC Razor上下文交换问题

vb.net - 确定 TabControl 中 TabRow 的高度 (VB.NET)

c# - SSH session 捕获

html - Django:将 SESSION 值发送到可扩展的 html 模板

PHP session ID 不保留在 iOS 应用程序中

asp.net - 尝试连接 ODAC EF6 时出错