求助,关于Session保存用户信息的问题 首先要null != am is true 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很感谢您的回复,但是am确实不为null啊,可能是别的什么原因吗? 你傻呀,不知道am是三个值么?Guid UserType UserName既然你用了AccountModel,干嘛还回来用session?先把am输出,看看是什么样的值,然后利用分割字符串函数进行分割,再利用foreach、数组将Guid、UserType、UserName表达出来,最后用赋值给session。 LZ,你的Account是什么?有没有定义 亲 您要把对象系列化。增加[Serializable]为这个类。 很感谢您的回复,但是am确实不为null啊,可能是别的什么原因吗?首先,未将对象引用设置到对象的实例这个错误肯定是某个变量引发了空指针异常。至于具体的,我不太清楚。你可以调试一下,看看那里null了。 我就觉得没问题。我实验了下 没问题。不知道你是怎么写的 能贴出代码么?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; } }}然后运行正常 按钮如下:点击后改变值 AccountModel am = new AccountModel(); am.Guid = "click"; Session["Account"] = am; am= (AccountModel) session["Account"]; 存入session里面的对象需要支持序列化[Serializable] 第一点:别动不动骂人好吗第二点:我知道am是三个值啊第三点:都说了是保存用户信息,当然是其他页面里也要用到啊,不然我多此一举存Session里干嘛?第四点:1L已经说过了,都说了am完全没问题,对应值也是保存好了的,而且我也说了,是要直接向Session里保存类的实例,您说的把Guid、UserType、UserName表达出来再赋值给Session,感觉Session里存的就不是一个对象了啊另外:错误找到了,是忘了加IRequiresSessionState接口,不过还是很感谢大家的热心回复 第一点:别动不动骂人好吗第二点:我知道am是三个值啊第三点:都说了是保存用户信息,当然是其他页面里也要用到啊,不然我多此一举存Session里干嘛?第四点:1L已经说过了,都说了am完全没问题,对应值也是保存好了的,而且我也说了,是要直接向Session里保存类的实例,您说的把Guid、UserType、UserName表达出来再赋值给Session,感觉Session里存的就不是一个对象了啊另外:错误找到了,是忘了加IRequiresSessionState接口,不过还是很感谢大家的热心回复我说这么一个赋值怎么会有问题哟 还专门做了实验都没事。原来是IrequiresSessionsState借口没加。。 在VS05中这个怎么写 帮我看看这段代码为什么打开报错啊 使用XSLT转换XML时,如何给属性赋值 求助:VS2005里的样式问题 ACCESS 数据库 求一条SQL语句 请问关于文件操作的问题 ASP.NET入门 在一循环中删除很多文件时提示某文件被另一进程使用而不能删除?怎样关闭这些进程。 删文件和删目录的问题 DLL的调用? 寻求asp网站打开速度过慢原因 【高分求帮】关于人事变更的模型设计问题
既然你用了AccountModel,干嘛还回来用session?先把am输出,看看是什么样的值,然后利用分割字符串函数进行分割,再利用foreach、数组将Guid、UserType、UserName表达出来,最后用赋值给session。
首先,未将对象引用设置到对象的实例这个错误肯定是某个变量引发了空指针异常。
至于具体的,我不太清楚。
你可以调试一下,看看那里null了。
{
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; }
}
}然后运行正常 按钮如下:点击后改变值
am.Guid = "click";
Session["Account"] = am;
am= (AccountModel) session["Account"];
第一点:别动不动骂人好吗第二点:我知道am是三个值啊第三点:都说了是保存用户信息,当然是其他页面里也要用到啊,不然我多此一举存Session里干嘛?第四点:1L已经说过了,都说了am完全没问题,对应值也是保存好了的,而且我也说了,是要直接向Session里保存类的实例,您说的把Guid、UserType、UserName表达出来再赋值给Session,感觉Session里存的就不是一个对象了啊另外:错误找到了,是忘了加IRequiresSessionState接口,不过还是很感谢大家的热心回复
第一点:别动不动骂人好吗第二点:我知道am是三个值啊第三点:都说了是保存用户信息,当然是其他页面里也要用到啊,不然我多此一举存Session里干嘛?第四点:1L已经说过了,都说了am完全没问题,对应值也是保存好了的,而且我也说了,是要直接向Session里保存类的实例,您说的把Guid、UserType、UserName表达出来再赋值给Session,感觉Session里存的就不是一个对象了啊另外:错误找到了,是忘了加IRequiresSessionState接口,不过还是很感谢大家的热心回复我说这么一个赋值怎么会有问题哟 还专门做了实验都没事。原来是IrequiresSessionsState借口没加。。