server.transfer(asp 3.0 以上) 和 response.redirect 在以前的 asp 中就存在了,page.navigate 是 asp.net beta 1 提供的新功能,它们之间的区别在于:
1、server.transfer - 用于把处理的控制权从一个页面转移到另一个页面,在转移的过程中,没有离开服务器,内部控件(如:request, session 等)的保存的信息不变,因此,你能从页面 a 跳到页面 b 而不会丢失页面 a 中收集的用户提交信息。此外,在转移的过程中,浏览器的 url 栏不变。
2、response.redirect - 发送一个 http 响应到客户端,告诉客户端跳转到一个新的页面,客户端再发送跳转请求到服务器。使用此方法时,将无法保存所有的内部控件数据,页面 a 跳转到页面 b,页面 b 将无法访问页面 a 中 form 提交的数据。