共同点:浏览器
都是重定向;服务器
不一样点:server
redirect:字符串
1发生在客户端;cli
2.发送两次请求,第一次请求原始页面,当调用此方法时,建立一个应答头,返回状态码302,第二次请求重定向的页面;服务器端
3.得不到任何原始的输出;表单
3.丢失request中的全部属性;request
4.须要client端再发起一个请求;请求
transfer:方法
1.很好地解决了这些问题。它是从server端直接向下一页发起请求,不须要client再次发送请求.
2.发生在服务器端,浏览器根本不知道服务器已经执行了一次页面变换;
3. 默认状况下,Server.Transfer方法不会把表单数据或查询字符串从一个页面传递到另外一个页面,但只要把该方法的第二个参数设置成True,就能够保留第一个页面的表单数据和查询字符串。
4.EnableViewStateMac=false;防止从新提交数据;
5.Execute()l;