As adviced by many comments the session IS the wrong solution. It could be reset by a lot of things (app pool recycling for example).
You should not force the user not to use different browsers or tabs, so the right choice is move data to ViewState/Control state.
If for some weird reason you still have to keep data in the session consider switching to a persistant session storage (i.e. using sql Server).