根据主题改变图像

时间:2011-04-26 07:35:16

标签: c# asp.net

在页面加载时,我正在添加此代码

if (Request.Cookies["switchstyle"] != null)
{
    string  i = Request.Cookies["switchstyle"].Value;
    if(i == "1")
        ThemeImageUrl = "~/ImagesW";
    else
        ThemeImageUrl = "~/Images";
}
btnpriv上的

我正在编写代码

CipCalendar.TodaysDate = CipCalendar.TodaysDate.AddMonths(-1);

StoreMonthValue(CipCalendar.TodaysDate.ToString()); // storing month in a cookie.
//Month.Text = CipCalendar.TodaysDate.ToString(MONTH_FORMAT);
imgMonth.ImageUrl = ThemeImageUrl + "/CalendarImages/" + CipCalendar.TodaysDate.ToString(MONTH_FORMAT) + ".gif";
SetMonthNavigateButtonVisible();
SetYearNavigateButtonVisible();
isNextMonth = false;
SetCases();

它工作正常,日期正在改变图像,但当我使用浏览器回btn这个代码不起作用..

基于主题更改,当我按btnpriv以及浏览器返回btn日期应该改变现在没有发生的点击浏览器返回btn

1 个答案:

答案 0 :(得分:0)

有2个人认为你可以做到。

首先,当您更改主题时,然后使用重定向()重新加载页面,用户无法返回。当使用返回是合乎逻辑的,从缓存重新加载页面,以便您看到上一个图像。

第二次禁用动态页面的缓存。

public static void DisablePageCaching() 
{ 
//Used for disabling page caching 
HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Current.Response.Cache.SetValidUntilExpires(false); 
HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.Cache.SetNoStore(); 

}