我正在将现有的MVC3应用程序从InProc移动到ASP.Net会话状态服务.其中一个模型对象具有以下属性:
public List<System.Web.Mvc.SelectListItem> StateCodes { get; set; }
并且它抛出了这个错误
无法序列化会话状态.在"StateServer"和"SQLServer"模式下,ASP.NET将序列化会话状态对象,因此不允许使用不可序列化的对象或MarshalByRef对象.如果自定义会话状态存储在"自定义"模式下完成类似的序列化,则适用相同的限制.
有没有办法List<SelectListItem>进行序列化?
尝试在Razor代码中创建选择列表项,而不是使用SelectList.让模型改为具有基于的基础数据的属性SelectList.您也可以尝试将其SelectList置于ViewBag或者ViewData,也可以解决问题.
SelectList在视图模型中存储被认为是不好的做法.
| 归档时间: | 
 | 
| 查看次数: | 5440 次 | 
| 最近记录: |