Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 序列化视图状态时出错_C#_Asp.net_Serialization - Fatal编程技术网

C# 序列化视图状态时出错

C# 序列化视图状态时出错,c#,asp.net,serialization,C#,Asp.net,Serialization,我在序列化视图状态的数据时遇到问题。我正在使用VS2010,尝试将属性添加到视图状态时,收到以下错误消息: Error serializing value 'System.Collections.Generic.List`1[Access.ARW.Business.Filters.Parameters.Parameter]' of type 'System.Collections.Generic.List`1[[Access.ARW.Business.Filters.Parameters.Par

我在序列化视图状态的数据时遇到问题。我正在使用VS2010,尝试将属性添加到视图状态时,收到以下错误消息:

Error serializing value 'System.Collections.Generic.List`1[Access.ARW.Business.Filters.Parameters.Parameter]' of type 'System.Collections.Generic.List`1[[Access.ARW.Business.Filters.Parameters.Parameter, Access.ARW.Business, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].'
我在我要序列化的类上面添加了一个[Serializable]属性,但我仍然得到这个错误…任何想法

以下是A类的属性声明:

private List<Filters.Parameters.Parameter> ReportParameters
{
   get
   {
       if (ViewState["ReportParameters"] == null)
       {
           ViewState["ReportParameters"] =
               new List<Filters.Parameters.Parameter>();
       }
       return (List<Filters.Parameters.Parameter>) ViewState["ReportParameters"];
   }

   set
   {
       ViewState["ReportParameters"] = value;
   }
}
私有列表报表参数
{
得到
{
如果(ViewState[“ReportParameters”]==null)
{
ViewState[“ReportParameters”]=
新列表();
}
返回(列表)视图状态[“ReportParameters”];
}
设置
{
ViewState[“ReportParameters”]=值;
}
}

是否未将Serializable属性添加到类的某个组件中?尝试将类的各个部分逐个添加到ViewState,直到找到错误的部分。

您的类是否包含其他对象?如果是这样,对象层次结构中的所有内容都必须标记为[Serializable],请发布代码示例。。理解您的代码将有助于我们和其他人doing@pjmonks-是的,有几个类是彼此的子类-这些类都添加了[serializable]属性…请不要在标题中添加“-C#VS2010”之类的内容。这就是标签的用途。另外,这个问题与VS2010无关。分治是一种基本的调试技术。我不明白为什么把“巨大”的东西暂时分成小块会成为一个问题。如果它真的那么“庞大”,那么它可能无论如何都不属于ViewState。创建单元测试以确保您的对象可序列化如何?如果代码库庞大且不熟悉,并且如果您的前任维护所述代码时留下了臭味,那么将某个庞大的对象拆分可能是一个问题。