首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ViewState中寄存复杂对象

2011-12-21 
ViewState中存放复杂对象namespaceSmanage.cs{//类B[SerializableAttribute]publicclassColumnProperty{pu

ViewState中存放复杂对象
namespace   Smanage.cs
{

//类B
[SerializableAttribute]
public   class   ColumnProperty
{
public   ColumnProperty(string   str_column,string   str_type,string   str_memo,string   str_dropSql,string   str_dropValue,string   str_dropText,string[]   str_enum,bool   display,bool   b_Readonly)
{
}
}

//类A
[SerializableAttribute]
public   class   BaseDataSet:System.Data.DataSet
{
public   System.Collections.ArrayList   ColumnPropertyList;//类B的集合
public   void   AddColumnPropertyList(ColumnProperty   col)
{
ColumnPropertyList.Add(col);
}
public   BaseDataSet(SerializationInfo   info,   StreamingContext   context)   :   base(info,   context)
{
}
}

//在网页中的应用()
public   class   Test
{
private   BaseDataSet   ety
{
get
{
return   (BaseDataSet)ViewState[ "ety "];
}
set
{
ViewState[ "ety "]=value;
}
}

private   void   search()
{
//ety=....//给ety赋值
}

private   void   update()
{
//使用ety.ColumnPropertyList则无法取出//
}

}
}


[解决办法]
取出A后B丢失了是什么意思?
是取出A后得不到b的值吗?
把b的值存储在a中怎么会丢失?
你看一下b的值是否存储到a中了?
[解决办法]
你调用AddColumnPropertyList了吗?
[解决办法]
寸了不可能是空的撒.
[解决办法]
首先,一项原则: 不在 ViewState 存储复杂大对象

具体如何,回来填饱肚皮,回来看
[解决办法]
依然看不懂
[解决办法]
private BaseDataSet ety
========================
类的属性为何要用private,请改为public BaseDataSet ety.

热点排行