我反覆提出的一個問題是,在用戶運行一些操作(例如單擊「返回...」鏈接或保存)後處理重定向到上一頁他們正在編輯的記錄。一種處理MVC環境中的返回URL的巧妙方法
以前每當我需要知道要返回的頁面時,我都會提供一個returnURL
參數給我當前的視圖。
http://blah.com/account/edit/1?returnURL="account/index"
這不是處理這種情況一個非常乾淨的方式,因爲有時返回URL中包含的參數,如搜索字符串,等等,這些都包含在URL。
http://blah.com/account/edit/1?returnURL="account/index?search="searchTerm""
而且,這將創建一個問題時,因爲你必須通過所有訪問過的網頁傳遞returnURL
用戶可以向前走另一頁回來的頁面與returnURL
之前。
僅僅調用瀏覽器的返回功能也不夠,因爲您可能希望頁面刷新,例如,以顯示您剛剛保存在上一頁中的編輯。
所以我的問題是,有沒有人找到一種聰明的方式來處理這種情況,特別是在MVC環境?
注意:我正在使用ASP .NET MVC,所以如果可能的話,我想要回答有關的,但任何想法都是值得歡迎的。
我想補充一點,我會檢查會話,然後在頁面加載過程的每一次開始時將其銷燬。然後在頁面加載過程結束時進行必要的設置。這種方式只會在需要時設置會話,並且可以在任何頁面上進行普遍檢查... HTH – Don
Cookie與在URL中傳遞參數的工作方式不同。嘗試使用在多個選項卡中打開的具有相同網站的Cookie。 –
會話很有意義,但用戶在同一會話中使用多個瀏覽器選項卡的情況又如何?當切換標籤然後點擊「返回列表」一段時間後會不會導致意外的行爲? – devuxer