日期:2014-05-17  浏览次数:20702 次

关于成员字段赋值的问题
有点想不明白,为什么这样的赋初值不行。

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)
        {
          
        }

    }
}
session 赋值 成员变量 成员字段

------解决方案--------------------
你应该在load里面赋值。session只有会话才有,平时哪里有。
------解决方案--------------------
session只存在于会话过程中,就是说要获取session值,那你的页面必须存在于会话中,要存在于会话中就需要有请求页面,请求页面就需要实例化vp类,你定义String _workId,只是VP类的一个字段,不能表示vp类被实例化,假如没有实例化,它怎么可能得到session的值,执行Page_Load表示页面加载,也就是已经实例化了,所以会获取到,这个错误提示不好。。。