我正在使用 C# 开发 ASP.NET MVC3。
Response.Redirect("http://www.google.com");
和有什么区别Response.Write("REDIRECT=http://www.google.com");
?
我正在使用 C# 开发 ASP.NET MVC3。
Response.Redirect("http://www.google.com");
和有什么区别Response.Write("REDIRECT=http://www.google.com");
?
不同之处在于第一个将用重定向页面替换响应并结束执行,而第二个只会将文本写入响应流并继续创建页面的其余部分。
Response.Redirect()
设置 HTTP 302 标头以及要重定向到的 URL。
Response.Write("REDIRECT=http://www.google.com");
将该字符串写入响应正文,因为重定向文本将附加到您网页的 HTML 中。
这将为您创建正确的完整 HTTP 标头:
Response.Redirect("http://www.google.com");
您可以设置或更改 HTTP 标头的一些参数。
HttpResponse Class
例如,设置 HTTP 状态代码 404 或 500 或在您的情况下为 302 进行重定向。
例如为 jpg 设置 HTTP Mime-type
将在您的回复中写入正文……就像字符串输出一样
Response.Write("REDIRECT=http://www.google.com");
有问题的方法是不言自明的:)
Response.Redirect("http://www.google.com");
它将把Redirect
你重定向到另一个页面,如果它会把你带到谷歌的主页。
Response.Write("REDIRECT=http://www.google.com");
该Write
方法会将一串文本写入网页。在这种情况下,它会将文本写入"REDIRECT=http://www.google.com"
您的网页。
在您的 Web 项目中使用这两种方法,看看会发生什么。