PDA

View Full Version : جلوگيري از رفتن به صفحه قبل يا بعد



mskarimi
شنبه 27 تیر 1388, 11:24 صبح
با سلام
چه طور ميشه در صفحات دات نت ، به كاربر اجازه نديم از طريق Back و Next به صفحه قبل يا بعد بره و فقط از طريق نرم افزار اجازه داشته باشه جابجا بشه.

naeeme
شنبه 27 تیر 1388, 12:52 عصر
شما می تونید با استفاده از جاوا اسکریپت کلیدهای next و back رو غیرفعال کنین اما این توصیه نمیشه چون قطعی نیست. می تونید از سشن استفاده کنین و درصورتی که کاربر دکمه back رو زده بود، به صفحه جاری منتقلش کنین.

mskarimi
شنبه 27 تیر 1388, 13:09 عصر
شما می تونید با استفاده از جاوا اسکریپت کلیدهای next و back رو غیرفعال کنین اما این توصیه نمیشه چون قطعی نیست. می تونید از سشن استفاده کنین و درصورتی که کاربر دکمه back رو زده بود، به صفحه جاری منتقلش کنین.

خيلي ممنون. يعني تو هر صفحه يه سشن كار بذارم و اگه اون سشن با سشن قبلي همخوني نداشت به صفحه قبلي ري دايركت بشه؟
اگه منظور ديگه داشتين لطفا با مثال بيان كنيد.

naeeme
شنبه 27 تیر 1388, 14:16 عصر
نیازی نیست توی هر صفحه یه سشن بذارید!
یه روش ابتدایی که به ذهنم میرسه اینه که به هر صفحه یک عدد اختصاص بدین، بعد وقتی می خواین به صفحه بعدی کاربر رو بفرستین توی سشن شماره صفحه جاری رو بگذارید. در صفحه بعدی هم چک کنین که مقدار سشن برابر شماره صفحه قبلی باشه، اگر بود که هیچ، اگر نبود، کاربر رو به صفحه ای که شمارش توی سشن هست بفرستین!
اینجوری کاربر از مسیر تعیین شده خارج نمیشه. مثل سیستم خرید بلیطی قطار که حتما یک روال مشخص رو باید طی کرد و اگر خارج از این روال برید، تمام عملیات رو ریست می کنه.

mskarimi
شنبه 27 تیر 1388, 14:35 عصر
بازهم ممنون.
ولي مشكل اين روش اينه كه من تو يه صفحه ٨ مرحله رو گذاشتم . و عملا با زدن back به مرحله قبلي تو همون صفحه ميره

naeeme
شنبه 27 تیر 1388, 14:51 عصر
اون هم مشکلی نیست. شما در یک متد خاص تعیین می کنید که الان کدوم حالت صفحه هست. در همون متد کافیه بررسی کنید که آیا حالت صفحه با شماره مرحله مطابقت داره یا نه. این روش وابسته به صفحه نیست و چون فقط از یک سشن استفاده میشه، دیگه بستگی به نوع مدیریت شما داره. اگر چند صفحه ای عمل کرده باشید، در page_load بررسی می کنید. اگر تک صفحه ای باشه، در همون تابع مشخص کننده حالت صفحه این بررسی رو انجام میدین.
هیچ تفاوتی نداره.

explod_javad
شنبه 27 تیر 1388, 15:03 عصر
این کد بزار در لود صفحه ، برای از بین بردن کش


Response.Cache.SetCacheability(HttpCacheability.No Cache)

اگه خواستی ازش استفاده کنی باید history مرورگر خودت رو پاک کنی