Passing values through session variables doesn't work too well. You may also have chances when the user clicks the back button or updates clicks and session variables collect garbage. This is the way to go for any cached items. One way is when the user goes to the second page, you take all the variables and put them in a hidden field somewhere, separated by a pair of Key: Value.
If values can be placed publicly, why not just put them in a URL?
If you cannot do this by adding them to the database and providing them with the Guid identifier for the username, this will be the last alternative for me, since you need to read and write to the database for each request.
source share