• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

جلوگيري از برگشت به صفحه ي قبل(دكمه Back)

kaveh-C#

کاربر تازه وارد
تاریخ عضویت
6 آپریل 2009
نوشته‌ها
3
لایک‌ها
0
درود بر همه ي اساتيد

من مي خوام وقتي كه كاربر توي يك صفحه ي خاص اگر دكمه Back رو بزنه محتويات اون صفحه ديده نشده و پيغام مناسبي نشون بده . بايد چكار بكنم ؟

من حتي توي صفحه دوم، Session رو هم Remove كردم ولي جواب نميده​
كد صفحه ي اول
کد:
protected void Page_Load(object sender, EventArgs e)
    {
            if (Convert.ToInt32(Session["user_agree"])<1)
            {
                Panel2.Visible = true;//پيفام مناسب در اين پنل است
                Panel1.Visible = false;//كل محتويات صفحه در اين پنل است
            }
    }

در ضمن قبلا Session رو 1 دادم
کد:
Session["user_agree"] = 1;


صفحه دوم
کد:
protected void Page_Load(object sender, EventArgs e)
    {
        Session.Remove("user_agree");        
        
    }
 
Last edited:

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
با استفاده از دکمه back ، محتویات صفحه قبلی معمولا از روی دستگاه خود کلاینت خونده میشه، برای همین کدی که شما نوشتی کار نمیده
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
میتونین از این کد استفاده کنید تا صفحه cache نشه
کد:
<head>
  <meta http-equiv="Expires" CONTENT="0">
  <meta http-equiv="Cache-Control" CONTENT="no-cache">
  <meta http-equiv="Pragma" CONTENT="no-cache">
</head>
 

kaveh-C#

کاربر تازه وارد
تاریخ عضویت
6 آپریل 2009
نوشته‌ها
3
لایک‌ها
0
از اينكه جواب دادين ممنوم Graveworm
ولي متاسفانه جواب نداد

اين قضيه رو براي يه فرم ثبت نام كاربري مي خوام به اين ترتيب كه كاربر تو صفحه اول تعهد نامه رو ok ميكنه و ميره تو صفحه ي دوم ، تو اين صفحه كاربر مشخصات وپسوردشو ميده و ميره به صفحه ي سوم،
حالا ميخوام اگه كاربر دكمه Back مرورگر شو زد نتونه اطلاعات اون صفحه رو ببينه (و يا تغيير بده) و بجاش پيغام مناسب رو ببينه

لطفا كمكم كنين ، اگه هم اين كار شدني نيست يه راهكار ديگه اي پيشنهاد كنين.
متشكرم.
 

kaveh-C#

کاربر تازه وارد
تاریخ عضویت
6 آپریل 2009
نوشته‌ها
3
لایک‌ها
0
دوستان هيچ كس نيست من رو راهنمايي كنه .


ممنون ميشم اگه كسي جواب منو بده.
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
این کد رو در قسمت page load قرار بدید،
تست شده و جواب داد برای من

کد:
   Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1))
        Response.Cache.SetValidUntilExpires(False)
        Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches)
        Response.Cache.SetCacheability(HttpCacheability.NoCache)
        Response.Cache.SetNoStore()
 
بالا