C# 我的会话值在asp.net中变为空
这是我的密码C# 我的会话值在asp.net中变为空,c#,asp.net,session,C#,Asp.net,Session,这是我的密码 var _tblPatient = _dc.tblPatients.Where(p => p.nUserId == GlobalUid).FirstOrDefault(); if (Patienttbn.Checked == true && _tblPatient == null) { if (_tblDonor != null) { if (_tblDonor.strStatus == "start") {
var _tblPatient = _dc.tblPatients.Where(p => p.nUserId == GlobalUid).FirstOrDefault();
if (Patienttbn.Checked == true && _tblPatient == null)
{
if (_tblDonor != null)
{
if (_tblDonor.strStatus == "start")
{
_tblDonor.strStatus = "close";
_tblDonor.dtAddDate = DateTime.Now;
// _dc.tblDonors
_dc.SubmitChanges();
}
}
_tblPatient.nUserId = GlobalUid;
_tblPatient.strStatus = "start";
_tblPatient.dtAddDate = DateTime.Now;
_dc.SubmitChanges();
}
我的代码发送的对象引用异常未设置为实例,我认为我的会话为空
球形
获取会话值,该值在
_dc.提交变更
但这是一个例外
_tblPatient.nUserId=GlobalUid
为创建新对象 _TBLPaient=新TBLPaient
它将解决您的问题会话可以为空,实际上任何值都可以为空-出于多种原因,调试您的代码,找到真正的问题。您是否尝试将会话转换为GUID数据类型?我以前看到过这个问题,我建议实际将gloabal.asax中的会话变量初始化为类似于HttpContext.Current.session[somesessionvariable]的内容=string.Empty在这篇msdn帖子中,你们可以看到在var _tblPatient=\u dc.tblPatients.Wherep=>p.nUserId==GlobalUid.FirstOrDefault行中这样做;GlobalUid is there=它不是空的,它正在从数据库检索信息,但在下面的代码中它不是空的work@user3819586这并不一定意味着GlobalUid不总是空的。您的代码只在_tblPatient为null时执行,就像在找不到_tblPatient时一样。您是否验证了在单步执行代码时GlobalUid实际上不是null?也许您可以将代码发布到GlobalUid属性中?