What is the difference between Server.Transfer and
Response.Redirect?
Answers were Sorted based on User's Feedback
Answer / swati
Response.Redirect simply sends a message down to the
browser, telling it to move to another page. So, you may
run code like:
Response.Redirect("WebForm2.aspx")
or
Response.Redirect("http://www.karlmoore.com/")
to send the user to another page.
Server.Transfer is similar in that it sends the user to
another page with a statement such as Server.Transfer
("WebForm2.aspx"). However, the statement has a number of
distinct advantages and disadvantages.
Firstly, transferring to another page using Server.Transfer
conserves server resources. Instead of telling the browser
to redirect, it simply changes the "focus" on the Web
server and transfers the request. This means you don't get
quite as many HTTP requests coming through, which therefore
eases the pressure on your Web server and makes your
applications run faster.
But watch out: because the "transfer" process can work on
only those sites running on the server, you can't use
Server.Transfer to send the user to an external site. Only
Response.Redirect can do that.
Secondly, Server.Transfer maintains the original URL in the
browser. This can really help streamline data entry
techniques, although it may make for confusion when
debugging.
That's not all: The Server.Transfer method also has a
second parameter—"preserveForm". If you set this to True,
using a statement such as Server.Transfer("WebForm2.aspx",
True), the existing query string and any form variables
will still be available to the page you are transferring to.
For example, if your WebForm1.aspx has a TextBox control
called TextBox1 and you transferred to WebForm2.aspx with
the preserveForm parameter set to True, you'd be able to
retrieve the value of the original page TextBox control by
referencing Request.Form("TextBox1").
This technique is great for wizard-style input forms split
over multiple pages. But there's another thing you'll want
to watch out for when using the preserveForm parameter.
ASP.NET has a bug whereby, in certain situations, an error
will occur when attempting to transfer the form and query
string values. You'll find this documented at
http://support.microsoft.com/default.aspx?id=kb;en-
us;Q316920.
The unofficial solution is to set the enableViewStateMac
property to True on the page you'll be transferring to,
then set it back to False. This records that you want a
definitive False value for this property and resolves the
bug.
So, in brief: Response.Redirect simply tells the browser to
visit another page. Server.Transfer helps reduce server
requests, keeps the URL the same and, with a little bug-
bashing, allows you to transfer the query string and form
variables.
| Is This Answer Correct ? | 4 Yes | 1 No |
Server Transfer simply tranfer execution to another page .
This doesnt require any information to be sent to the
browser that is it all occors on the server without the
users knowledge, doesnt update the client's URL history
list or current url
Response Redirect method sends HTTP information to the
browser instructing it to go to another page perform round
trip back to the client when the client's browser is
redirected to the new page.The user's browser history list
is updated to reflect the new address.
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / shiva
Hai..,
Server.Transfer:
In Server.Transfer Page their is no round trim between
client and server.if u requested a page to server it will
directly taken from the server itself
Response.Redirect:
-Round Trim between client and server:
- if u request a page
Example:
client-->server-->client
| Is This Answer Correct ? | 3 Yes | 2 No |
Answer / radhkishan
Simple,
Server.Transfer("Default.aspx");
Response.Redirct("Default.aspx"); and
Response.Redirect("http://www.bing.com"); and it
show also error message
| Is This Answer Correct ? | 1 Yes | 0 No |
Which two properties are there on every validation control?
To which side ( server ? client) does the user input data validation occur? Explain the reasons for it?
What is boxing? How we can use it?
How do you declare static variable?
List the major built-in objects in asp.net?
What are the difference between ASP and ASP.Net?
where is declare global variable in asp.net and what is use of global variable
What is the difference between equals() and == in c#?
The technical part was on ASP.Net only of web services.
What is the transport protocol you use to call a Web service?
What are sessions used for?
can we pass values from one page to another page without redirecting to that page?
6 Answers Google, Patni, Syntel, Wipro,
Visual Basic (800)
C Sharp (3816)
ASP.NET (3180)
VB.NET (461)
COM+ (79)
ADO.NET (717)
IIS (369)
MTS (11)
Crystal Reports (81)
BizTalk (89)
Dot Net (2435)
Exchange Server (362)
SharePoint (720)
WCF (340)
MS Office Microsoft (6963)
LINQ Language-Integrated Query (317)
WPF (371)
TypeScript (144)
Microsoft Related AllOther (311)