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 .
相关文章
相关标签/搜索