I often use this technique, although keep in mind that this can cause your viewstate (as shown in the browser) to become quite large:
public List<Event> Events
{
get { return (List<Event>)ViewState["EventsList"]; }
set { ViewState["EventsList"] = value; }
}
Then, when you want to use a list, you should do something like this:
public void AddToList()
{
List<Event> events = Events;
... Add/Remove items here ...
Events = events;
}
, Event , , [Serializable] ( ).