Response.Redirect(“http:// url”)和Response.Write(“REDIRECT = http:// url”)之间有什么区别?

时间:2012-06-14 05:57:32

标签: asp.net-mvc-3 c#-4.0 httpwebresponse

我正在使用C#编写ASP.NET MVC3。

Response.Redirect("http://www.google.com");Response.Write("REDIRECT=http://www.google.com");之间有什么区别?

4 个答案:

答案 0 :(得分:6)

不同之处在于,第一个将使用重定向页面替换响应并结束执行,而第二个将仅将文本写入响应流并继续创建页面的其余部分。

答案 1 :(得分:0)

Response.Redirect()设置HTTP 302标头以及要重定向到的URL。

Response.Write("REDIRECT=http://www.google.com");会将该字符串写入响应正文,因为重定向文本会附加到网页的HTML中。

答案 2 :(得分:0)

这将为您创建正确的完整HTTP标头:

Response.Redirect("http://www.google.com");

您可以设置或更改HTTP标头的一些参数。

HttpResponse Class
例如,设置HTTP状态代码404或500,或者在302的情况下设置重定向。

例如为jpg设置HTTP Mime类型

将在你的回复中写入Body ..就像一个字符串输出

Response.Write("REDIRECT=http://www.google.com");

答案 3 :(得分:0)

有问题的方法非常自我解释:)

Response.Redirect("http://www.google.com");

Redirect会将您重定向到另一个页面,如果它会将您带到Google's主页。

Response.Write("REDIRECT=http://www.google.com");

Write方法会将一串文本写入网页。在这种情况下,它会将文本"REDIRECT=http://www.google.com"写入您的网页。

在您的网络项目中使用这两种方法,看看会发生什么。