2013-03-06 93 views
-2

提前道歉,因爲我確信此主題無疑已被問到,但我找不到任何回覆我的特定查詢的帖子。在用戶會話期間在MVC中保留數據

記住我是MVC的新手,這是我必須要做的。我有一個使用MVC 3框架在VS 2010下開發的項目。我有一個由6個字段和一個嵌套模型組成的搜索頁面,它本身可以包含3個字段。

我可以成功地將所有這些數據發回給自己,並且數據成功地作爲模型傳回,所以這些字段保留用戶提供的數據。

在我繼續在另一個視圖上實際使用這個搜索條件之前,一個念頭打動了我。我想保留這個搜索條件,甚至可能在用戶會話期間將搜索結果保存在內存中。

這背後的原因是簡單地救我了用戶的時間:

一)否定需要不斷重新輸入他們的搜索條件,無論他們是如何進入或離開搜索頁面

B)通過更快速地顯示搜索結果來加速用戶體驗

後者並不像第一個要求那麼重要。

我已經做了一些谷歌搜索,並確實看過類似主題的網站。從我讀過的使用會話(如果開發一個PHP站點,我通常會使用它)是一個不行的。從我讀過的理由來看,爲什麼你不應該使用會話似乎是有效的,我很高興與它一起。

但現在我留在了一個讓我撓頭的地方想知道爲什麼最好的做法是實現這個簡單的目標,可以應用於項目後期的類似情況。

我也看了一下OutputCache方法,並沒有像我預期的那樣工作。在測試中,我將超時設置爲30秒。提交搜索後,我點擊鏈接到我的搜索頁面,查看這些字段是否會自動填充,但沒有。但是,然後單擊搜索按鈕檢索緩存中的值。我認爲我正在取得進展,但是當我嘗試提交一個新值時,緩存中的舊值回來了,即我實際上無法通過執行緩存來更改我的搜索條件。所以我把這作爲探索的途徑打了折扣。

最後一個選項似乎暗示了使用cookie作爲最可能的候選者,但無論是對還是錯我都覺得這不是最好的解決方案。我原以爲MVC 3設計模式會有一個更簡單和推薦的持久值的方法。我確定有,但我還沒有發現它。

我已經開始使用JQuery,並再次提到這一點,但我不確定這是否是正確的方向。

總而言之,我的問題真的歸結爲更廣泛的社區認爲是堅持數據在我的情況下的最佳實踐。效率,可擴展性和彈性是最重要的,因爲我將擁有一個龐大的全球用戶羣,最終將使用這個網絡應用程序。

在此先感謝!

皮特

回答

0

我只是使用cookies。它們使用起來很簡單,只要你願意,你可以堅持它們,或者當用戶關閉瀏覽器時讓它們到期,而且聽起來你並不像存儲任何敏感的東西。