Как использовать запрос-sting вместе с server.transfer? - PullRequest
2 голосов
/ 24 февраля 2010

В настоящее время мы широко используем строку запроса в нашем приложении asp.net. Несколько дней назад мы работали над улучшением сайта. В этом мы прежде всего решили не показывать полный URL-адрес веб-страницы в адресной строке, поэтому я задал этот вопрос по этому вопросу на SO

Лучший способ, который мы получили, это использовать server.transfer (). Но теперь кажется, что строка запроса не работает с ним! Есть ли способ обойти это, чтобы мы могли использовать строки запроса и не отображать URL-адрес веб-страницы в адресной строке. Пожалуйста, руководство.

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 24 февраля 2010

Server.Transfer должен пройти через любую существующую строку запроса или коллекцию форм в вызываемый обработчик.

Метод Transfer сохраняет коллекции QueryString и Form.

Если вы звоните Server.Transfer(path, preserveForm), убедитесь, что для второго параметра установлено значение true.

Однако, как вы обнаружили, вы не можете установить путь к URL-адресу со строками запроса при вызове метода Server.Transfer.

Пожалуйста, обратите внимание на следующие потенциальные проблемы при движении по этому маршруту:

  1. ASP.NET не проверяет, что пользователь должен иметь доступ к этому ресурсу, поэтому, если вы используете на своем сайте стандартные механизмы авторизации, вы больше не сможете на них полагаться.
  2. Пользователи не смогут добавлять в закладки любую страницу за пределы главной страницы вашего сайта / отправлять ссылки на людей / глубокие ссылки на ваш сайт.
  3. Поисковым системам будет очень трудно индексировать / показывать результаты для вашего сайта, так как все, что они увидят, это один URL.
0 голосов
/ 04 октября 2011

Если вы используете метод Transfer с PreservForm, у вас могут возникнуть проблемы с проверкой состояния представления. Данные обратной передачи с одной страницы могут не соответствовать ожидаемым данным обратной передачи другой.

0 голосов
/ 24 февраля 2010

почему вы хотите скрыть запрос? есть ли какая-либо информация, которая является частной, если в этом случае я бы предложил сохранить ее в сеансе.

...