0

ASP.NETイメージキャッシングの問題(無効にする方法は?). IEブラウザーは、ディレクトリC:\ Documents and Settings ... \ Local Settings \ TemporaryInternetFilesから古いイメージをロードします

   protected void Page_Load(object sender, EventArgs e)
    {
        MembershipUser user = Membership.GetUser();
      imCropped.ImageUrl = (File.Exists(Server.MapPath("..") + @"\Users\" + user.ProviderUserKey.ToString() + @"\" + user.ProviderUserKey.ToString() + ".gif"))? "~/Users/" + user.ProviderUserKey.ToString() + "/" + user.ProviderUserKey.ToString() + ".gif" : "~/Images/thumb.gif";
}

protected void ButtonJcrop_Click(object sender, EventArgs e)
    {

       ...

        String mapPath = @"\Users\" + user.ProviderUserKey.ToString() + @"\" + user.ProviderUserKey.ToString() + ".gif";
        bmpCropped.Save(Server.MapPath("..") + mapPath);
        imCropped.ImageUrl = Request.ApplicationPath + mapPath;
        ...
}
4

1 に答える 1

4

乱数だけでimgurlaquerystringparamに追加できます。

<img src="http://www.walaa.co.il/t.jpg?c=2342342"/>

それはDatetime.Ticks何か他のもののようにすることができます。

ImageUrl = (File.Exists(string.Format("{0}\\Users\\{1}\\{1}.gif?c={2}", Server.MapPath(".."), user.ProviderUserKey.ToString(), DateTime.Now.Ticks))) ? string.Format("~/Users/{0}/{0}.gif?c={1}" , user.ProviderUserKey.ToString(), DateTime.Now.Ticks) : "~/Images/thumb.gif";
于 2012-04-09T07:26:37.037 に答える