关于成员字段赋值的问题

ele7enjr 2013-01-06 10:15:26
有点想不明白,为什么这样的赋初值不行。

namespace Z.Web
{
public partial class VP : System.Web.UI.Page
{
private String _workId = Session["MySession"].ToString();
/*这句话报错,显示cannot access non-static property "Session" in static context.但是如果定义一个字段通过pageload这个方法确实可以赋值的。求解*/
protected void Page_Load(object sender, EventArgs e)
{

}

}
}
...全文
144 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ele7enjr 2013-01-06
  • 打赏
  • 举报
回复
引用 2 楼 ssp2009 的回复:
session只存在于会话过程中,就是说要获取session值,那你的页面必须存在于会话中,要存在于会话中就需要有请求页面,请求页面就需要实例化vp类,你定义String _workId,只是VP类的一个字段,不能表示vp类被实例化,假如没有实例化,它怎么可能得到session的值,执行Page_Load表示页面加载,也就是已经实例化了,所以会获取到,这个错误提示不好。。……
谢谢你~我明白了。
快溜 2013-01-06
  • 打赏
  • 举报
回复
session只存在于会话过程中,就是说要获取session值,那你的页面必须存在于会话中,要存在于会话中就需要有请求页面,请求页面就需要实例化vp类,你定义String _workId,只是VP类的一个字段,不能表示vp类被实例化,假如没有实例化,它怎么可能得到session的值,执行Page_Load表示页面加载,也就是已经实例化了,所以会获取到,这个错误提示不好。。。
杨友山 2013-01-06
  • 打赏
  • 举报
回复
你应该在load里面赋值。session只有会话才有,平时哪里有。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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