异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。 请教,谁知道这是怎么回事啊?

立奥 2011-05-06 04:54:47
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 19: protected void Page_Load(object sender, EventArgs e)
行 20: {
行 21: string MyForbidString = Session["MyForbid"].ToString();
行 22: if (MyForbidString.IndexOf("B1") > 1)
行 23: {


源文件: f:\jiudian\ConsumeManage\EatingForm.aspx.cs 行: 21

堆栈跟踪:


[NullReferenceException: 未将对象引用设置到对象的实例。]
ConsumeManage_EatingForm.Page_Load(Object sender, EventArgs e) in f:\jiudian\ConsumeManage\EatingForm.aspx.cs:21
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +31
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +68
System.Web.UI.Control.OnLoad(EventArgs e) +88
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3037




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
...全文
1646 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
haojuntu 2011-05-07
  • 打赏
  • 举报
回复
加个判断
if(Session["MyForbid"]!=null){
string MyForbidString = Session["MyForbid"].ToString();

}
子夜__ 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 l4617 的回复:]

非常感谢各位的回复,还有问题请教各位,,

这里已经给 MyForbidString定义了,为什么Session没取到值,
protected void Login1_LoggedIn(object sender, EventArgs e)
{
Session["MyUserName"] = this.Login1.UserName;
Syst……
[/Quote]

session丢失正常的。
立奥 2011-05-06
  • 打赏
  • 举报
回复
非常感谢各位的回复,还有问题请教各位,,

这里已经给 MyForbidString定义了,为什么Session没取到值,
protected void Login1_LoggedIn(object sender, EventArgs e)
{
Session["MyUserName"] = this.Login1.UserName;
System.Text.StringBuilder MyForbidString = new System.Text.StringBuilder();
MyForbidString.Append("禁止操作权限:A1A2A3A4A5A6A7B1B2B3C1C2C3C4C5D1D2D3D4D5E1E2E3E4");
string MyConnectionString = ConfigurationManager.ConnectionStrings["MyHotelDBConnectionString"].ConnectionString; ;
string MySQL = "Select * From 操作用户 Where 用户名称='" + this.Login1.UserName + "'";
SqlDataAdapter MyAdapter = new SqlDataAdapter(MySQL, MyConnectionString);
DataTable MyTable = new DataTable();
MyAdapter.Fill(MyTable);
if (MyTable.Rows.Count > 0)
{
if ((int)MyTable.Rows[0]["客房管理之旅客入住登记"] == 1)
{
MyForbidString.Replace("A1", "是");
}
if ((int)MyTable.Rows[0]["客房管理之旅客换房登记"] == 1)
{
MyForbidString.Replace("A2", "是");

}
if ((int)MyTable.Rows[0]["客房管理之旅客结账退房"] == 1)
{
MyForbidString.Replace("A3", "是");
}
if ((int)MyTable.Rows[0]["客房管理之旅客预订登记"] == 1)
{
MyForbidString.Replace("A4", "是");
}
if ((int)MyTable.Rows[0][9] == 1)
{
MyForbidString.Replace("A5", "是");
}
if ((int)MyTable.Rows[0]["客房管理之旅客补交押金"] == 1)
{
MyForbidString.Replace("A6", "是");
}
if ((int)MyTable.Rows[0]["客房管理之打印旅客账单"] == 1)
{
MyForbidString.Replace("A7", "是");
}
if ((int)MyTable.Rows[0]["消费管理之旅客餐费登记"] == 1)
{
MyForbidString.Replace("B1", "是");
}
if ((int)MyTable.Rows[0]["消费管理之旅客话费登记"] == 1)
{
MyForbidString.Replace("B2", "是");
}
if ((int)MyTable.Rows[0]["消费管理之其他消费登记"] == 1)
{
MyForbidString.Replace("B3", "是");
}
if ((int)MyTable.Rows[0]["查询管理之查询旅客信息"] == 1)
{
MyForbidString.Replace("C1", "是");
}
if ((int)MyTable.Rows[0]["查询管理之查询客房信息"] == 1)
{
MyForbidString.Replace("C2", "是");
}
if ((int)MyTable.Rows[0]["查询管理之查询商品消耗"] == 1)
{
MyForbidString.Replace("C3", "是");
}
if ((int)MyTable.Rows[0]["查询管理之查询消耗总量"] == 1)
{
MyForbidString.Replace("C4", "是");
}
if ((int)MyTable.Rows[0]["查询管理之查询旅客押金"] == 1)
{
MyForbidString.Replace("C5", "是");
}
if ((int)MyTable.Rows[0]["报表管理之客房入住报表"] == 1)
{
MyForbidString.Replace("D1", "是");
}
if ((int)MyTable.Rows[0]["报表管理之餐饮消费报表"] == 1)
{
MyForbidString.Replace("D2", "是");
}
if ((int)MyTable.Rows[0]["报表管理之其他消费报表"] == 1)
{
MyForbidString.Replace("D3", "是");
}
if ((int)MyTable.Rows[0]["报表管理之电话消费报表"] == 1)
{
MyForbidString.Replace("D4", "是");
}
if ((int)MyTable.Rows[0]["报表管理之旅客结账报表"] == 1)
{
MyForbidString.Replace("D5", "是");
}
if ((int)MyTable.Rows[0]["系统管理之分配用户权限"] == 1)
{
MyForbidString.Replace("E1", "是");
}
if ((int)MyTable.Rows[0]["系统管理之酒店信息设置"] == 1)
{
MyForbidString.Replace("E2", "是");
}
if ((int)MyTable.Rows[0]["系统管理之酒店房间设置"] == 1)
{
MyForbidString.Replace("E3", "是");
}
if ((int)MyTable.Rows[0]["系统管理之酒店商品设置"] == 1)
{
MyForbidString.Replace("E4", "是");
}
Session["MyForbid"] = MyForbidString;
zl_jennifer 2011-05-06
  • 打赏
  • 举报
回复
看看这个变量 "MyForbid"是在什么时候赋值?
令狐苦瓜 2011-05-06
  • 打赏
  • 举报
回复
Session没取到值,session不存在
立奥 2011-05-06
  • 打赏
  • 举报
回复
付调试情况:
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Web.resources\2.0.0.0_zh-CHS_b03f5f7f11d50a3a\System.Web.resources.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_zh-CHS_b77a5c561934e089\mscorlib.resources.dll”,未加载符号。
警告: 无法调试脚本代码。对您要调试的应用程序禁用了脚本调试。请在 Internet Explorer 的“Internet 选项”对话框(“高级”页)中取消选中“禁止脚本调试”选项,然后重新启动进程。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\Microsoft.JScript\8.0.0.0__b03f5f7f11d50a3a\Microsoft.JScript.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_32\VJSharpCodeProvider\2.0.0.0__b03f5f7f11d50a3a\VJSharpCodeProvider.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\CppCodeProvider\8.0.0.0__b03f5f7f11d50a3a\CppCodeProvider.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Web.RegularExpressions\2.0.0.0__b03f5f7f11d50a3a\System.Web.RegularExpressions.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\jiudian\c5f3fd49\c878524c\App_Web_95jlb_qv.dll”,符号已加载。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\jiudian\c5f3fd49\c878524c\App_Web_exk4wnpk.dll”,符号已加载。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_32\System.Transactions\2.0.0.0__b77a5c561934e089\System.Transactions.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Data.resources\2.0.0.0_zh-CHS_b77a5c561934e089\System.Data.resources.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\jiudian\c5f3fd49\c878524c\App_Web_02grle0k.dll”,符号已加载。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\jiudian\c5f3fd49\c878524c\App_Web_-6x6cjko.dll”,符号已加载。
在 System.NullReferenceException 中第一次偶然出现的“App_Web_-6x6cjko.dll”类型的异常
在 System.NullReferenceException 中第一次偶然出现的“App_Web_-6x6cjko.dll”类型的异常
孟子E章 2011-05-06
  • 打赏
  • 举报
回复
改成
string MyForbidString = Session["MyForbid"]==null?"":Session["MyForbid"].ToString();
  • 打赏
  • 举报
回复
Session["MyForbid"]没有值呗
最好开头赋个值

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧