求助,关于Session保存用户信息的问题
比如我定义了一个AccountModel
public class AccountModel
{
public string Guid { get; set; }
public UserType UserType { get; set; }
public string UserName { get; set; }
}
然后在LoginHandler中进行引用,并创建了对象
AccountModel am = new AccountModel();
然后将登陆成功的用户的对应信息存入了am中,断点调试显示am没有问题,数据也都保存好了的
接着就是问题了,我想把am保存进Session中
由于之前都是只用了单一的变量对Session赋值,
如Session["Name"] = UserName;
于是我也一样地写
Session["Account"] = am;
于是就报错了,说
未将对象引用设置到对象的实例
请问是不是把一个对象赋给Session和把一个变量赋给Session的方法不一样啊,求高手传授解决方法,感激不尽
------解决方案--------------------亲 您要把对象系列化。增加[Serializable]为这个类。
------解决方案--------------------我就觉得没问题。我实验了下 没问题。不知道你是怎么写的 能贴出代码么?
public partial class SessionTestaspx : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AccountModel am = new AccountModel();
am.Guid = "click";
Session["Account"] = am;
}
public void btn_click(object sender, EventArgs e)
{
btn.Text =((AccountModel)Session["Account"]).Guid.ToString();
}
public class AccountModel
{
public string Guid { get; set; }
public UserType UserType { get; set; }
public string UserName { get; set; }
}
}
然后运行正常 按钮如下:
点击后改变值