我在C# ASP.Net程序中有一个对象数组,在postback期间填充,希望能在下一次postback期间恢复它们。为此,我将数组声明包含在Default类定义中,其保存如下:
this.Session["This"] = this;
并成功恢复:
Default saved_stuff = (Default) this.Session["This"];
这对于除了以下内容以外的所有内容都可以正常工作:
MyClass [] my_array;
当恢复时,saved_stuff.my_array
总是 null
。
MyClass 的定义如下:
public MyClass : ISerializable
{
private string some_string;
private double some_double;
// some more simple members
// Some getters and setters
// ISerializable Implementation
}
我尝试让
MyClass
实现ISerializable
,但这并没有什么区别。有人知道我应该做什么吗?编辑以回答@Michael的问题,然后我会做一些类似的事情...
for (int i = 0; i <= saved_stuff.my_array.GetUpperBound(0); i++)
{
// blah blah
}
该程序出现“对象引用未设置为对象的实例”错误。在调试时,Default
的所有其他成员变量在 saved_stuff
中都是可见的。