Redirect与Transfer 的区别

共同点:

都是重定向;

不同点:

redirect:

1发生在客户端;

2.发送两次请求,第一次请求原始页面,当调用此方法时,创建一个应答头,返回状态码302,第二次请求重定向的页面;

3.得不到任何原始的输出;

3.丢失request中的所有属性;

4.需要client端再发起一个请求;

transfer:

1.很好地解决了这些问题。它是从server端直接向下一页发起请求,不需要client再次发送请求.

2.发生在服务器端,浏览器根本不知道服务器已经执行了一次页面变换;

3. 默认情况下,Server.Transfer方法不会把表单数据或查询字符串从一个页面传递到另一个页面,但只要把该方法的第二个参数设置成True,就可以保留第一个页面的表单数据和查询字符串。

4.EnableViewStateMac=false;防止重新提交数据;

5.Execute()l;

原文地址:https://www.cnblogs.com/zlp520/p/3690787.html