В чем разница между следующими методами передачи страниц - PullRequest
1 голос
/ 06 августа 2011

В чем разница между:

  1. Server.transfer?
  2. Response.Redirect?
  3. Postbackurl?

Когда я должен решить, какой?

Ответы [ 3 ]

1 голос
/ 06 августа 2011

Server.Transfer указывает ASP.NET перенаправить обработку на другую страницу в том же приложении. Это происходит полностью на стороне сервера. Это более «эффективно», так как это происходит на стороне сервера, но у этого метода есть некоторые ограничения. Ссылка ниже описывает некоторые из них.

Response.Redirect фактически отправляет код состояния HTTP 302 обратно клиенту в ответе с другим местоположением. Затем клиент отвечает за отслеживание нового местоположения. Здесь происходит еще одно путешествие туда и обратно.

PostBackUrl - это не «метод передачи», а свойство, которое сообщает браузеру, какой URL-адрес отправить форму. По умолчанию форма отправляется обратно на сервер.

Вот хорошая ссылка: http://haacked.com/archive/2004/10/06/responseredirectverseservertransfer.aspx

1 голос
/ 06 августа 2011
  1. Server.Transfer:

    Переводит запрос с одной страницы на другую на сервере. например Запрос браузера для /page1.aspx

    Запрос поступает на страницу 1, где вы делаете Server.Transfer ("/ page2.aspx") , поэтому запрос переходит на страницу 2, и страница 2 возвращается в ответ, но в адресной строке браузера по-прежнему отображается URL-адрес /page1.aspx

  2. Response.Redirect

    Это утверждение сообщает браузеру запросить следующую страницу. В этом случае адресная строка браузера также изменяется и отображает URL новой страницы

  3. PostBackUrl

    Вы можете упомянуть это на кнопках или кнопках ссылок. Это отправит форму на предоставленную страницу. Это похоже на:

    <form method="post" action="/page2.aspx">
    
1 голос
/ 06 августа 2011

Server.Transer() работает на стороне сервера. Он ответит клиенту с страницей, отличной от запрашиваемой клиентом. Если клиент обновляет (F5), он обновит исходную страницу.

Response.Redirect() отвечает клиенту, что он должен перейти на другую страницу. Для этого требуется дополнительная передача туда и обратно, но клиент будет знать о перенаправлении, поэтому F5 запросит страницу назначения.

PostbackUrl - это свойство, указывающее элементу управления ASP, куда обращаться при нажатии на клиенте. Это не требует дополнительной поездки туда и обратно при информировании клиента. Если вы можете использовать этот метод, он, как правило, предпочтительнее других вариантов.

...