Словарь может хорошо работать для вашего приложения
http://msdn.microsoft.com/en-us/library/xfhwa508.aspx
В псевдокоде:
// Read the selected seats and store them
OnCheckChanged( ... )
{
Dictionary<Route,Seat> reservedSeats = Session["reservedSeats"] as Dictionary<Route,Seat>;
reservedSeats[Current Route] = Selected Seat;
Session["reservedSeats"] = reservedSeats;
}
// Show the selected seats when they come to a specific route
OnLoad(...)
{
Dictionary<Route,Seat> reservedSeats = Session["reservedSeats"] as Dictionary<Route,Seat>;
SetSeatSelection( reservedSeats[Current Route] );
}
В принципе, вы можете хранить объект словаря в сеансе с одной записью для каждого маршрута. Каждый сеанс является специфическим для конкретного пользователя, поэтому этого должно быть достаточно.
Хотя вы можете просто сохранить его в базе данных, если хотите, чтобы выбор запоминался между посещениями и т. Д.