【发布时间】:2010-05-25 07:01:42
【问题描述】:
我想知道 - 向视图(或母版页)提供上下文(即与任何特定视图无关,但同时与所有视图相关)信息的最佳方式是什么?
考虑以下场景。
假设我们有一个支持多种 UI 语言的应用。用户可以通过 UI 的小部件(类似于页面顶部的选项卡)切换它们。每种语言都呈现为单独的选项卡。不应呈现当前语言的选项卡。
为了满足这些要求,我计划制作一个 javascript 片段,用于在客户端上隐藏当前的语言选项卡。为此,我需要客户端上当前的语言选项卡 ID。因此,我需要某种方式将 Id 传递给母版页(以便将其“融合”到 js 脚本中)。
我能想到的最好的事情是我所有的 ViewModel 都应该继承一些 ViewModeBase,它有一个字段来保存当前语言选项卡 ID。然后,无论我渲染什么视图,这个 Id 将始终可用于母版页的隐藏脚本。
但是,我担心这个 ViewModelBase 可能会以不受控制的方式增长,因为此类上下文信息(如当前语言)的数量将会增长..
有什么想法吗?
【问题讨论】:
标签: asp.net-mvc viewmodel