یک پروژه ی asp mvc دارم تو یک فرم مشخص نمیخوام اجازه بدم که کاربر دکمه برگشت مرورگر رو کلیک کنه. در واقع یک فعالیت دو مرحله ای دارم.هر مرحله view خودش رو داره وقتی مرحله یک تموم میشه و به مرحله 2 میرسه از view1به view2 میرسیم وقتی کاربر در view2 هست نباید کاربر بتونه دکمه برگشت مرورگر رو بزنه و اگر بزنه میخوام یا به view2 برگرده یا اینکه پیام بده بهش که "برگشت امکان پذیر نیست"
در حال حاضر وقتی دکمه بک مرورگر زده میشه ، مرورگر کروم خطای Confirm Form Resubmission رو میده.برای اینکه مجبور کنم به هنگام برگشت ریلود بشه صفحه از کد زیر استفاده کردم
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")] public ActionResult startBooking(bookingViewModel bmodel) { //------------- }
ولی هیچ تغییری ایجاد نشد و همچنان خطای زیر رو میگیرم.
This webpage requires data that you entered earlier in order to be properly displayed. You can send this data again, but by doing so you will repeat any action this page previously performed.
Press the reload button to resubmit the data needed to load the page.
ببخشید ولی این کد اولا اینکه کامنت شده و حتی وقتی از حالت کامنت خارج کردم کار نکرد.
کد زیر رو تست کنید
//kill all back button functionality function noBack() { window.history.forward() } noBack(); window.onload = noBack; window.onpageshow = function(evt) { if (evt.persisted) noBack() } window.onunload = function() { void (0) }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)