我想知道什麼是向視圖(或主視圖)提供上下文(即與任何特定視圖無關,但同時與所有視圖無關)信息的最佳方式頁)?將上下文信息傳遞給ASP.NET MVC中的視圖
請考慮以下情況。
假設我們有一個支持多種UI語言的應用程序。用戶可以通過UI的小部件(如頁面頂部的標籤)切換它們。每種語言都作爲一個單獨的選項卡呈現。不應呈現當前語言的選項卡。
爲了解決這些要求,我打算在客戶端上隱藏當前的語言選項卡。爲此,我需要客戶端上當前的語言選項卡標識。所以,我需要一些方法將Id傳遞給master頁面(爲了將它融合到js腳本中)。
我能想到的最好的事情是,我所有的ViewModel都應該繼承一些ViewModeBase,它有一個字段來存放當前語言標籤ID。然後,無論我要呈現的視圖如何,該ID始終可用於主頁的隱藏腳本。
不過,我擔心這ViewModelBase可以以不受控制的方式可能成長爲這樣的片段上下文信息(如當前的語言)將增長數..
任何想法?
感謝您的回答! 爲了避免控制器混亂,我通過工廠創建了我的視圖模型。所以,工廠負責填充ViewModelBase的屬性。 – Ant 2010-05-25 07:32:23