2016-08-23 98 views
1

我們有一個silverlight應用程序,當點擊鏈接並返回時,它保持狀態。ASP.NET MVC - 保持網頁狀態

我想知道是否有一種方法來實現類似使用Asp.net MVC的東西?基本上現在用戶使用橫幅中的鏈接進入搜索頁面,在搜索頁面中我們顯示一些項目。用戶點擊其中一個,並打開另一個頁面,將他帶到列出該項目信息的主頁面。從那裏用戶可以再次點擊搜索,但是這次當然會打開一個新的搜索窗口。

我想知道是否有方法將現有內容從已打開的窗口加載到新的搜索窗口中?

如果它有任何不同,搜索頁面啓用了ajax。

+2

Ht tp是無狀態的。所以你需要使用類似Session或數據庫的東西來在多個http請求之間保存數據。 – Shyju

回答

3

正如Shyju指出的那樣,Http是無狀態的。在Web應用程序的多個頁面之間存儲和共享數據有多種方式。 僅舉幾下,你可以使用:

  • 餅乾(沒有安全敏感數據保存如 餅乾密碼)
  • 會議
  • 瀏覽器的本地存儲(http://www.w3schools.com/html/html5_webstorage.asp
  • 在MVC ,您可以使用ViewBag,ViewData或TempData
  • 您可以在URL中傳遞數據作爲查詢參數
2

你不想維護ASP.Net MVC中的狀態。這是一個不好的做法。

如果要在動作方法之間傳遞狀態,可以使用TempData

它在引擎蓋下使用會話狀態,並在檢索數據後自動清除它。

除了TempData,ASP.Net還提供了一些附加方法。你可以閱讀更多here。在你的場景中,TempData是最好的選擇。

+0

因此,使用TempData我將能夠存儲該搜索頁面的整個狀態 - 包括特定搜索結果的結果? – User123

+0

理論上,您可以在TempData中存儲任何內容,但您希望儘可能最小化,因爲它會佔用服務器內存。 – Win