定义了一个公有的泛型:
public static ArrayList al =null ;
在页面加载时进行实例对象
protected void Page_Load(object sender, EventArgs e)
{
GC.Collect(); //内存回收,如不加手动内存回收,内存起码多占20M
if (!IsPostBack)
{
if (al ==null )
{
al = new ArrayList();
}
if (HiddenField1.Value == "")
{
al.Clear();
}
HiddenField1.Value = "100";
...............
在数据变动的位置加入以下语句,不然会很点时间的
al.TrimToSize();
离开页面也做一次垃圾内存回收
private void Page_Unload(object sender, EventArgs e)
{
GC.Collect();
}
这样的好处就是,当进入页面时,静态泛型al进行了初始化,元素全部清空一片,这样就可以扔掉旧的元素,插入新的元素了
但是真的很占内存哦,比一般进程占多一倍以上的内存,所以不必用的地方不要使用
下面是我做,查询时把选中的ID保存到静态泛型里,翻页时就不会被清空了,方便返回到要结果值的页面上