Session is stored on the server, but it is identified by a cookie that resides on the user's computer. That means any windows or tabs the user has open for a specific browser will all share the same session.
The trick is to use other means of storing the data. Some other choices are view state, control state, hidden fields, databases, query stirngs, static variables, and cookies. If you have a bunch of data that should reside on the server at all times, you might choose a hybrid approach. For example, you could store a unique ID in a hidden form field, then use that ID to look up the data on the server side (even in session).
I recommend you read more about ASP.NET State Management