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 .