我遇到了在对象内部反序列化SelectList
的问题。我的课程设置如下:
public class DropDownControl
{
public string Type
{
get { return "ddl"; }
}
public SelectList Values { get; set; }
}
我创建的对象只是
var myControl = new DropDownControl()
{
Values = new SelectList(
new List<SelectListItem>
{
new SelectListItem {Value = "1", Text = "A"},
new SelectListItem {Value = "2", Text = "B"},
new SelectListItem {Value = "3", Text = "C"},
}, "Value", "Text", "1"
)
}
我收到了错误
无法创建和填充列表类型System.Web.Mvc.SelectList。
致电
JsonConvert.DeserializeObject<List<Control>>(myControl, _settings);
当然必须有一些方法来序列化/反序列化SelectList
?
答案 0 :(得分:1)
因为SelectList
没有默认(即无参数)构造函数,所以您需要编写自定义转换器,以便JSON.NET知道如何实例化它。 This可能会帮助您了解如何做到这一点。