-2

我正在使用 C# 开发 ASP.NET MVC3。

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

4

4 回答 4

6

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

于 2012-06-14T06:05:43.690 回答
0

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

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

于 2012-06-14T06:09:04.380 回答
0

这将为您创建正确的完整 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");
于 2012-06-14T06:17:52.740 回答
0

有问题的方法是不言自明的:)

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

它将把Redirect你重定向到另一个页面,如果它会把你带到谷歌的主页。

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

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

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

于 2012-06-14T12:17:01.237 回答