为什么这句if (Session["UPower"].ToString ()!="5")写在下面的代码里面总是出错:編譯器錯誤訊息: CS0120: 非靜態欄位、方法或屬性 'System.Web.UI.Page.Session' 需要物件參考 注:SESSION值绝对传过来了,这个没有问题public static DataTable SelectFormForum(string sql)
               {
                       try
                       {
for(int i=0;i<returns.Tables[0].Rows.Count;i++)  
                          {                         unprc=int.Parse(returns.Tables[0].Rows[i]["unprc"].ToString().Trim());                                awt=int.Parse(returns.Tables[0].Rows[i]["awt"].ToString().Trim());
                           if (Session["UPower"].ToString ()!="5")
                           {
                           returns.Tables[0].Rows[i]["unprc"]="";
                           }

解决方案 »

  1.   

    try
    {
            string UPower = Session["UPower"].ToString();
            ...
            for()
            {
                ...
                if( UPower != "5" )
                {
                     ...
                }试试
      

  2.   

    楼上的:編譯器錯誤訊息: CS0120: 非靜態欄位、方法或屬性 'System.Web.UI.Page.Session' 需要物件參考
    行 29:  try
    行 30:  {
    行 31:  string UPower = Session["UPower"].ToString();
      

  3.   

    public static DataTable SelectFormForum(string sql)
                   {
                           try
                           {
    for(int i=0;i<returns.Tables[0].Rows.Count;i++)  
                              {                         unprc=int.Parse(returns.Tables[0].Rows[i]["unprc"].ToString().Trim());                                awt=int.Parse(returns.Tables[0].Rows[i]["awt"].ToString().Trim());
    if(Session["UPower"]!=null)
    {
                               if (Session["UPower"].ToString ()!="5")
                               {
                               returns.Tables[0].Rows[i]["unprc"]="";
                               }
    }
      

  4.   

    你在静态函数里怎么能用系统的变量呢!!!
    你要么把static 去掉,要么把Session["UPower"].ToString()作为SelectFormForum函数的一个参数传进去!
      

  5.   

    if (System.Web.HttpContext.Current.Session["UPower"].ToString ()!="5")
                               {
                               returns.Tables[0].Rows[i]["unprc"]="";
                               }
      

  6.   

    楼上的:例外詳細資訊: System.FormatException: 輸入字串格式不正確。行 51:  catch (Exception ex)
    行 52:  {
    行 53:  throw (ex);
    行 54:  }
    行 55:  }
     
      

  7.   

    To:  yellowhwb(雨花石) 
    你够细心,我都没注意到是静态的,瞎说了,惭愧。看来不动手还是不行。
    同意你的说法
      

  8.   

    同意 yellowhwb(雨花石) 的说法
      

  9.   

    在静态函数里可用System.Web.HttpContext.Current.Session获得Session对象的引用
      

  10.   

    if (System.Web.HttpContext.Current.Session["UPower"].ToString ()!="5")