Передача на другую страницу с использованием Server.Transfer сохраняет ресурсы сервера. Вместо того, чтобы сообщать браузеру о перенаправлении, он просто меняет «фокус» на веб-сервере и передает запрос. Это означает, что вы не получаете столько запросов HTTP, что, таким образом, снижает нагрузку на ваш веб-сервер и ускоряет работу ваших приложений.
Но обратите внимание: поскольку процесс «передачи» может работать только на тех сайтах, которые работают на сервере, вы не можете использовать Server.Transfer для отправки пользователя на внешний сайт. Только Response.Redirect может это сделать.
Во-вторых, Server.Transfer поддерживает исходный URL-адрес в браузере. Это может действительно помочь оптимизировать методы ввода данных, хотя это может привести к путанице при отладке.
Это еще не все: метод Server.Transfer также имеет второй параметр - preserveForm. Если вы установите для этого значение значение True, используя оператор, такой как Server.Transfer («WebForm2.aspx», True), существующая строка запроса и любые переменные формы будут по-прежнему доступны для страницы, на которую вы переходите.
Например, если ваш WebForm1.aspx имеет элемент управления TextBox, называемый TextBox1, и вы перешли в WebForm2.aspx с параметром preserveForm, установленным в True, вы сможете получить значение исходного элемента управления TextBox, указав Request.Form ("TextBox1").
Итак, вкратце: Response.Redirect просто сообщает браузеру посетить другую страницу. Server.Transfer помогает уменьшить запросы сервера, поддерживает URL-адрес одинаково и, с небольшим количеством ошибок, позволяет передавать строку запроса и формы переменных.
Возможный дубликат [Какой из них лучше Server.Transfer и Response.Redirect] (http://stackoverflow.com/questions/5151439/which-one-is-better-server-transfer-and-response-redirect) – slugster
Основная разница заключается в том, что Response.Redirect обращается к веб-браузеру, чтобы перенаправить его на новый URL, тогда как Server.Transfer только начинает обработку новой страницы на сервере без кругового путешествия. –
Просто нехорошо закрывать для ответа с -1 голосом и без принятого вопроса. Возможно, мы могли бы получить хороший принятый ответ здесь, так как это лучший вопрос и закрыть другой для этого? (Или, возможно, * приличный * дубликат может быть связан ...) –