大家帮帮忙!我做了上传头像页面,是想实现这样一个功能:点击上传图像,然后点击保存时就能更改原来的头像。我用session["touxiang"] = p_mfilename;//保存头像名称然后在需显示头像的地方写代码:  this.Image2.ImageUrl = "~/touxiang/" + session["touxiang"];(上传的头像放在根目录 touxiang 文件夹里)
可是重新登录,然后打开页面时,头像都显示不出来,只有上传了头像后才能显示。
请问大家怎么把上传的头像一直显示出来,直到再次上传头像时?

解决方案 »

  1.   

    文件是否上传成功
    ImageUrl = "~/touxiang/" + session["touxiang"]+"?temp="+DateTime.Now.ToString();
      

  2.   

    上传成功了 保存在touxiang文件夹里 是不是应该用application啊?可是不会用?
      

  3.   

    一般把头像的文件名保存到某个字段,然后用:
    ImageUrl = "~/touxiang/" + 字段里的文件名;看了你的代码,检查一下Session中是否有数据??
    还有...+ session["touxiang"];
    应该是...+ session["touxiang"].ToString();
      

  4.   

    session 好像只能保存有限的时间,每次登录后就没了吧。可是又不会用别的。哎……
      

  5.   

    我是把session["touxiang"] = p_mfilename;这段代码是放在上传头像,保存按钮 代码里的。是不是需要每次登录页面后都要上传一下图片,然后再显示出来,这不是麻烦?怎样让头像一直显示,知道下次上传修改头像时呢?
      

  6.   

    用session保存,只要你一下线,session的内容就丢失了,再重新登录当然没有了,可以用Cookie保存,但如果客户端禁用了Cookie,就不能使用了,不过客户端如果禁用了Cookie,那session也将失效,
    code:
    HttpCookie Mycookie=new HttpCookie("Img");//创建一个Cookie的对象
    Mycookie.Values["ImgUrl"]=要保存的头像地址;
    Mycookie.Expires=DateTime.Now.AddDays(1);//里面的参数是你要保存的时间
    Response.Cookies.Add(Mycookie);//这样就行了,注意要看你保存的时间
    用的时候:this.Img2.ImageUrl = "~/touxiang/" +Request.Cookies["Img"].Value就可以了
    要想停止对头像的保存可以用
    code:HttpCookie Mycookie=Request.Cookies["Img"];//创建一个Cookie的对象
    if(Mycookie!=null)
    {
        Mycookie.Expires=DateTime.Now.AddDays(-1);//里面的参数是你要保存的时间
        Response.Cookies.Add(Mycookie);
    }不过真正做开发的话建议你把每次用户选择的头像存到数据库中最好了
    每次用户登录后便从数据库里取出来存放到Session或Cookie中,或者直接绑定字段
      

  7.   

    直接用session保存 用的时候取值就可以
      

  8.   

    麻烦问一下,我也是放进了服务器的文件夹和数据库的,但是我要怎样在一个session中去显示我上传的头像呢?