Transferring to another page using Server.Transfer saves server resources. Instead of telling the browser about the redirect, it simply changes its focus on the web server and passes the request. This means that you do not receive so many HTTP requests, which therefore reduces the load on your web server and speeds up the execution of your applications.
But be careful: since the “transfer” process can only work on those sites that run on the server, you cannot use Server.Transfer to send the user to an external site. Only Response.Redirect can do this.
Secondly, Server.Transfer supports the source URL in the browser. This can really help optimize data entry methods, although it can lead to 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 for the page you are going to.
For example, if your WebForm1.aspx has a TextBox control called TextBox1, and you switched to WebForm2.aspx with the preserveForm parameter set to True, you can get the value of the original TextBox control by referring to the .FORM request ("TextBox1").
So, in short: Response.Redirect just tells the browser to visit another page. Server.Transfer helps to reduce requests to the server, keeps the URL the same and, with a small number of errors, allows you to transfer the query string and generate variables.
source share