将自定义类Test保存到viewstate中的按钮事件代码: protected void Button1_Click(object sender, EventArgs e) { Test test = ViewState["VIEW_TEST"] as Test; if (test == null) { test = new Test(); } test[-1] = TextBox1.Text; ViewState["VIEW_TEST"] = test; }
下面再看一下自定义类Test的实现: [SerializableAttribute] class Test { private IList list; public Test() { list = new ArrayList(); } public object this[int index] { get { if (index >= list.Count) { return null; } return list[index]; } set { list.Add(value); } } }