В настоящее время мы открываем новую страницу aspx с окном window.open. Window.open находится в javascript-функции (openNewWindow()) на текущей странице aspx, которая вызывается при нажатии на ссылку гиперссылки asp.net.Потеря состояния сеанса после закрытия окна, открытого с помощью window.open
Ссылки динамически создаются на странице нашей каркасной структурой, поэтому я бы хотел избежать изменения этой функциональности.
Проблема заключается в том, что когда это новое «дочернее» окно закрыто, состояние сеанса теряется. Я должен упомянуть, что сеанс доступен в дочернем окне, а не в «родительском» окне после закрытия «дочернего» окна.
Похоже, что в другом месте нашего приложения, если вызов open.window добавлен на страницу с помощью вызова ClientScriptManager.RegisterStartupScript на событие clickbase click для элемента управления гиперссылкой (а не вызов функции, которая закодирован в aspx) сессия сохраняется.
Последнее решение будет сложно реализовать в текущем коде кода без значительных изменений и всех регрессионных тестов, которые повлекут за собой.
У кого-нибудь есть идеи, как сохранить состояние сеанса после закрытия дочернего окна.
BTW это происходит в IE7, и наше приложение основано на asp.net 2.0.
Заранее благодарим за проницательные и элегантные решения этой проблемы! ; О)
Прежде всего, добавьте обработчик события Session_OnEnd в global.asax, чтобы поймать, когда и если это происходит на самом деле ... – annakata
(Предполагая, что вы не в настраиваемом режиме сеанса - также есть ваш cookie на основе сеанса?) – annakata