Server.Transfer должен пройти через любую существующую строку запроса или коллекцию форм в вызываемый обработчик.
Метод Transfer сохраняет коллекции QueryString и Form.
Если вы звоните Server.Transfer(path, preserveForm)
, убедитесь, что для второго параметра установлено значение true
.
Однако, как вы обнаружили, вы не можете установить путь к URL-адресу со строками запроса при вызове метода Server.Transfer.
Пожалуйста, обратите внимание на следующие потенциальные проблемы при движении по этому маршруту:
- ASP.NET не проверяет, что пользователь должен иметь доступ к этому ресурсу, поэтому, если вы используете на своем сайте стандартные механизмы авторизации, вы больше не сможете на них полагаться.
- Пользователи не смогут добавлять в закладки любую страницу за пределы главной страницы вашего сайта / отправлять ссылки на людей / глубокие ссылки на ваш сайт.
- Поисковым системам будет очень трудно индексировать / показывать результаты для вашего сайта, так как все, что они увидят, это один URL.