首先为我的英语道歉,因为我不是最擅长解释事情,但是这里是
使用MVC我有以下模型
[DataContract]
public class MyClass
{
.
.
.
[DataMember]
public Dictionary<string, Highcharts> MyProperty{ get; set; }
}
当我使用
序列化模型时var serializer = new DataContractSerializer(typeof(MyClass));
string xmlString;
using (var sw = new StringWriter())
{
using (var writer = new XmlTextWriter(sw))
{
writer.Formatting = Formatting.Indented;
serializer.WriteObject(writer, model);
writer.Flush();
xmlString = sw.ToString();
}
}
我收到以下错误: 附加信息:类型'DotNet.Highcharts.Highcharts'无法序列化。请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员。如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记。有关其他受支持的类型,请参阅Microsoft .NET Framework文档。
我不知道如何解决这个问题,因为无法访问高级图表类进行任何更改,在网上搜索它似乎问题可能是Highcharts类没有构造函数需要零参数,但我再也不能在自己添加。
解决这个问题的任何帮助都非常棒。谢谢.l
答案 0 :(得分:0)
像L.B所指出的那样,将我的Highcharts字典的数据属性放入一个单独的对象中,然后将其存储在我的模型中,这对我来说是完美的。
然后在反序列化之后,我在我的模型中使用相同属性实例化我的highcharts对象并将其发送到视图。
谢谢L.B