2010-01-21 88 views
3

我有一個簡單的網站。幾乎每個操作都以int toonId作爲參數(toonId不等同於用戶:一個用戶可以擁有多個工具)。
目前我向控制器的每個視圖提供該值,並且每個鏈接和提交按鈕都會將此值發送回控制器。
This Works。我只是尋找一種更簡單的方法來實現這一點(想到AOP)。ASP.NET MVC:創建一個環境值

我使用cookie來保存「favorite/default toon」,並且這可以正常工作(與ActionAttribute一起使用,從cookie獲取toonId並將pass傳遞給toonId參數,如果未提供toonId)。但我也想支持無cookie的會話。

問題:什麼是將環境變量添加到頁面的簡單方法,而不必將其全部明確地傳遞給頁面?這樣它可以與無cookie的瀏覽器一起工作。

Viewstate是一種走的路(它不應該在MVC中)?
是服務器端會話的一種方式嗎?

回答

0

這正是會話的意思。

在asp.net mvc中沒有頁面生命週期,因此沒有viewstate。

0

我相信如果您插入自己的IRouteHandler實現,我相信您可以自動傳遞查詢字符串參數以使用無cookie瀏覽器。我還沒有嘗試過。我發現an example實施IRouteHandler雖然它不顯示如何實現查詢字符串參數功能。

0

我不清楚'toonid'代表什麼。如果它是'每個用戶會話的環境',那麼正如womp所說,會話狀態對此很有效。但是,如果某個事件的範圍較大(例如,所有用戶普遍可以訪問的toonids集合),那麼Cache將是一個更好,更可擴展的策略。