视图模型中的Serializable装饰器而不是SelectList?

时间:2013-01-16 13:13:38

标签: c# asp.net-mvc asp.net-mvc-3 decorator

我在会话中存储ViewModel。 现场环境存在问题。由于配置原因,我无法在会话中存储非序列化类,SelectList未标记为Serializable

SelectListViewModel的使用排除在DataSource DropDown的{​​{1}}之后,有什么更好的方式?

1 个答案:

答案 0 :(得分:6)

您可以在视图模型中存储项目集合,而不是选择列表。 然后,向名为GetSelectList()的ViewModel添加一个方法,该方法使用该集合创建一个SelectList。

这样,您存储数据,一旦从会话中检索该对象,您可以调用GetSelectList()方法在下拉列表中使用它。

您甚至可以传递参数来设置所选值。