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 .