这样的session怎么样写好
我在login.aspx
中让用户输入用户名和密码,在login.aspx.cs中判断,
如果成功的话,取名字的值存在session中,
Session.Add("cname", myDT.Rows[0]["name"]);
login.aspx应用了母版页。
现在要在母版页上显示session["cname"]的内容,在main.master.cs中
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Session["cname"].ToString() != "" || HttpContext.Current.Session["cname"].ToString() != null)
{ Label1.Text = HttpContext.Current.Session["cname"].ToString(); }
}
这样运行出现下列错误
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:
System.NullReferenceException: 未将对象引用设置到对象的实例。要实现上述session功能,得怎么弄好??/
------解决方案--------------------首先你这个逻辑不对,要修改为&&
if(Session["cname"]!=null)
{
Label1.Text = Session["cname"].ToString();
}
------解决方案--------------------没有登陆的时候.session["cname"]是null的
if (HttpContext.Current.Session["cname"] != null && !string.IsNullOrEmpty(HttpContext.Current.Session["cname"].ToString()))
{ Label1.Text = HttpContext.Current.Session["cname"].ToString(); }