无法使用Highcharts属性序列化模型

时间:2014-01-31 17:03:40

标签: c# serialization highcharts

首先为我的英语道歉,因为我不是最擅长解释事情,但是这里是

使用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

1 个答案:

答案 0 :(得分:0)

像L.B所指出的那样,将我的Highcharts字典的数据属性放入一个单独的对象中,然后将其存储在我的模型中,这对我来说是完美的。

然后在反序列化之后,我在我的模型中使用相同属性实例化我的highcharts对象并将其发送到视图。

谢谢L.B

相关问题