主页面中的点击事件:
protected void lbAddCadre_Click(object sender, EventArgs e)
{    AddFlipWindowPlaceHolder.ControlPath = "AddEmployee.ascx";
    _currentSelect = "divAddCadre";
    Session.Add("addEmployee", "addEmployee");}用户控件中的点击提交事件:
protected void btnAdd_Command(object sender, CommandEventArgs e)
{
    if (Session["addEmployee"].ToString() == "addEmployee")
    {
        ......
        ......
        CustomPlaceHolder cph = (CustomPlaceHolder)this.Parent;
        cph.ControlPath = null;
        if(Session != null)
            Session.Remove("addEmployee");
}
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。行 130:            CustomPlaceHolder cph = (CustomPlaceHolder)this.Parent;
行 131:            cph.ControlPath = null;
行 132:            if(Session != null)    //此处为红色提示错误
行 133:            Session.Remove("addEmployee");堆栈跟踪: 
[NullReferenceException: 未将对象引用设置到对象的实例。]
   System.Web.UI.UserControl.get_Session() +29
   AddEmployee.btnAdd_Command(Object sender, CommandEventArgs e) in f:\MIC2.2\AddEmployee.ascx.cs:132
   System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +96
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +177
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838 

解决方案 »

  1.   

    Session["..."]为正确的格式;
    单写Session没有引用对象;
      

  2.   

    Session是一个对象在整个会话过程中一直存在的.
    我写成Session[...]还是一样的报错
      

  3.   

    Session.Add("addEmployee", "addEmployee");没有这样写过Session["addEmployee"]="addEmployee";My-Blog地址1:http://www.cnblogs.com/nyzfl
    My-Blog地址2: http://blog.csdn.net/nyzfl
      

  4.   

    Session.Add("addEmployee", "addEmployee");没有这样写过Session["addEmployee"]="addEmployee";******************************
    谢谢啦  问题已解决了不过
    Session.Add("addEmployee", "addEmployee");

    Session["addEmployee"]="addEmployee";
    结果是一样地,也可以加进去
    哪一个更好就不知道啦  或许 
    Session["addEmployee"]="addEmployee";
    的效率更高?
      

  5.   

    Session.Add("addEmployee", "addEmployee");

    Session["addEmployee"]="addEmployee";
    ---------------------
    这2个不存在效率高低的问题,是一样的,只是表现形式不一样
      

  6.   

    用Session["addEmployee"].ToString() 先判断一下是不是为null
    不然一旦Session丢失会出这个错误的..