asp.net中的server.transfer?

Sur*_*har 3 asp.net

当我server.transfer("defaul2.aspx"); 在url中写入时default2.aspx不显示而不是显示defaul.aspx页面.我写的时候response.redirect("default2.aspx");

在网址default2.aspx页面显示有什么不同.

Fré*_*idi 9

那是因为Server.Transfer()Response.Redirect()的工作方式不同.

Server.Transfer()不会结束当前请求,它只会指示ASP.NET停止呈现当前页面并开始呈现新页面.客户端不是更明智的,从服务器的角度来看,服务器仍在响应初始请求,因此地址栏中显示的URL不会更改.

Response.Redirect()结束当前请求并向客户端发送302响应代码.然后,客户端向重定向的URL 发出另一个 HTTP请求并处理响应.由于客户端知道URL已更改,因此会在其地址栏中显示重定向的URL.