关于cookers的疑问
未将对象引用设置到对象的实例。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 48: Username = Request.Cookies["UserCookie"]["username"].ToString();
行 49:
行 50: Role = Request.Cookies["UserCookie"]["role"].ToString().Split(',');
行 51:
行 52: }
代码:
protected void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string Username;
//string Role;
if (Request.Cookies["UserCookie"] == null)
{
Response.Write("<SCRIPT language='JavaScript'>alert('非法操作!请重新登陆');window.parent.location.href='login.aspx';</SCRIPT>");
}
else
{
Username = Request.Cookies["UserCookie"]["username"].ToString();
Role = Request.Cookies["UserCookie"]["role"].ToString().Split(',');
}
if (!IsPostBack)
{
//this.ClassKind = Convert.ToInt32(Request.QueryString["ClassKind"]);
this.ClassKind = 1;
BindData();
if (Request.Cookies["UserCookie"]["biaozhi"].ToString()=="9")
{
yes.Visible = true; //后台管理显示
}
else
{
yes.Visible = false; //后台管理隐藏
}
}
}
在本机上没有问题,放在服务器的iis 上就报错,奇怪了! --------------------编程问答-------------------- Request.Cookies["UserCookie"]["username"] 这个没取到值 所以在ToSting的时候会报错的 --------------------编程问答-------------------- 先判断Request.Cookies["UserCookie"]["username"] ! = null再执行下面的 --------------------编程问答-------------------- Request.Cookies["UserCookie"]["username"].ToString();
-------------------------------
断点 看下,有没有取到值。
如果没有,检查 你写cookie的地方,是否正确!
还用是cookie,不是cooker --------------------编程问答-------------------- Request.Cookies["UserCookie"]["username"] 这个值有,取到了
是Request.Cookies["UserCookie"]["role"] 这个报错了
最主要的是本机vs和iis 都没有问题
放在服务器为什么role就没有值了呢。
怎么来调试呢。神奇 --------------------编程问答--------------------
先判断 --------------------编程问答-------------------- 我在本机上调试是正常的没有问题。
主要传到服务器它就在Request.Cookies["UserCookie"]["role"]这里就报错了
我想知道为什么。其它两个cookies值没有问题
如果是没有cookie没有存上的话,那在本机上为什么没有问题,想知道根本原因啊 --------------------编程问答-------------------- if(Request.Cookies["UserCokie"].Values["role"].ToString()!=null)
{
Role =Request.Cookies["UserCokie"].Values["role"].ToString().Split(',');
}
我加了个判断,为什么还会提示错误,提示if中的的语名引用为空。
补充:.NET技术 , C#