日期:2014-05-18  浏览次数:20379 次

怎样让页面刷新后 ArrayList 值不丢失
我在页面中需要用到ArrayList,但当我点击按钮后,因为执行了提交,ArrayList数据丢失了,请问怎样让它不丢失数据,因为必须要用到ArrayList,动态添加数组,所以请在不改变用ArrayList的前题下,谢谢了!!!!

------解决方案--------------------
网页是无状态的,一旦执行完,到了IE客户端,服务端的页面对象全部消失。必须将你需要的保存好,下次进入这个页面中才能使用。

将ArrayList对象放入 ViewState 中保存

private ArrayList arrayList
{
get
{
object o = ViewState["ArrayList"];
if( o == null )
{
o = new ArrayList();
ViewState["ArrayList"] = o;
}
return o as ArrayList;
}
}

或者放入 Session, Application 中
------解决方案--------------------
1.每次postback都初始化arraylist.
2.用viewstate记住arraylist.
------解决方案--------------------
随便放咯,Session也可以,Cookie也可以,ViewState也可以,想咋扔咋扔
------解决方案--------------------
ViewState
Session
Cache
Application (全局的)

------解决方案--------------------
ArrayList,动态添加数组??

如果值是固定的,那好办:在页面初始化时,直接ArrayList,动态添加数组

是不是要在if(!IsPostBack)里用,你自己试一下就知道了,哪个得要哪个.

不行就用楼上的正解,总比直接DataBase 好.
------解决方案--------------------
private static ArrayList Arrl=.....
------解决方案--------------------
也可以用静态类里做一个静态属性,进行设置,取值操作
当然viewstate session cookie 均可