Вы не можете изменить поведение пользовательского интерфейса на стороне сервера (например, с помощью Server.Transfer или Response.Redirect) - это просто не работает таким образом. Итак, есть два способа сделать это:
- Если вы заранее знаете, какие конкретные задачи требуют открытия нового окна / вкладки, установите цель привязки или тегов формы соответствующим образом (или используйте функцию window.open () javascript).
- Если решение об открытии нового окна / вкладки должно быть принято на стороне сервера, вы можете сгенерировать и вернуть javascript, который делает то, что вам нужно.
Имейте в виду, что поведение новой вкладки / окна полностью зависит от браузера и настроек пользователя, поэтому невозможно гарантировать, что произойдет - некоторые настройки могут даже заставить все ссылки открываться в одном окне, независимо от целевой или вызывающий window.open ().
Если вы используете сеанс на основе файлов cookie, который является функцией по умолчанию, даже в новом окне или вкладке, пользователь все равно будет использовать тот же сеанс, поэтому вам не нужно делать ничего особенного, чтобы сохранить состояние сеанса.
Если вы используете сеансовый ключ на основе URL-адреса (или без cookie-файла), вам необходимо убедиться, что вы соответствующим образом отформатировали URL-адрес, используя ключ при открытии новых окон с помощью JavaScript. Я не уверен, но я просто считаю, что использование атрибута target и относительных URL должно автоматически генерировать соответствующий URL.