Передача значений через переменные сеанса работает не слишком хорошо. У вас также могут быть шансы, когда пользователь нажмет кнопку «Назад» или нажмет кнопку «Обновить», а переменные сеанса будут собраны сборщиком мусора. Это способ для любых кэшированных элементов. Одним из способов решения этой проблемы является то, что когда пользователь переходит на вторую страницу, вы берете все переменные и помещаете их в скрытое поле, разделенное парой ключ: значение.
Если значения можно поместить в открытую, почему бы просто не поместить их в URL?
Если вы не можете этого сделать, то поместите их в базу данных и присвойте им идентификатор Guid для каждого имени пользователя, что будет для меня последней альтернативой, поскольку при каждом запросе вы должны одновременно читать и записывать в БД .