static 使用要注意的地方

  

 protected static string headimg = string.Empty;


這裏用到 static ,下面若是這樣寫
   object himg = DBUtility.DbHelperSQL.GetSingle(hstr);
        if (himg != null)
         {
             headimg = "http://www.16njl.com" + Convert.ToString(himg);
         }
給headimg 賦值,存在則賦值,不存在數據 則 沒處理 headimg
這樣會出現錯誤 , 當你 不從新給賦值 headimg 賦值時,headimg 的值會一直保存下去, 即便 從新換個 帳號 登陸, 這個值只要沒有被從新賦值 就一直存在(可能有時間限制,但時間很長), 當下一個 帳號 沒有 改變 headimg 的值時, 就會使用 上一個帳戶 存在的 headimg ,從而出現錯誤。

  protected static string headimg = string.Empty;
        protected void Page_Load(object sender, EventArgs e)
        {
}
這種方式的 static 不會由於 換了帳戶 headimg==string.Empty; headimg 的值不會變,除非在函數內從新賦值。

因此必定要寫成這種方式 :
  object himg = DBUtility.DbHelperSQL.GetSingle(hstr);
                if (himg != null)
                {
                    headimg = "http://www.16njl.com" + Convert.ToString(himg);
                }
                else
                {
                    headimg = "";  // 記得從新賦值
                } 或者 去掉  static .
相關文章
相關標籤/搜索