Asp.net 重定向和HTML内容

Asp.net 重定向和HTML内容,asp.net,redirect,response.redirect,Asp.net,Redirect,Response.redirect,我有一个Web表单,其唯一目的是重定向到其他页面。我将其创建为一个普通的aspx页面,然后删除了.aspx文件中的所有内容,只保留了下面显示的第一行--甚至Doctype和HTML标记现在也不存在了: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Redirect.aspx.cs" Inherits="Web.Redirect" %> 我还删除了.designer.cs文件,因为它不包含任何内容。这是可行的,

我有一个Web表单,其唯一目的是重定向到其他页面。我将其创建为一个普通的aspx页面,然后删除了.aspx文件中的所有内容,只保留了下面显示的第一行--甚至Doctype和HTML标记现在也不存在了:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Redirect.aspx.cs" Inherits="Web.Redirect" %>


我还删除了.designer.cs文件,因为它不包含任何内容。这是可行的,但我不知道我所做的是否正确。在这种情况下,是否存在从Web表单中删除所有HTML内容的问题?

如果您执行
响应.重定向(url)
,则会添加重定向标头并结束请求。这意味着ASPX页面中的任何内容都不会输出到客户端。Response.Redirect(url)之后的任何内容都不会输出到页面。你也可以像以前那样删除它


如果执行
Response.Redirect(url,false)
,则响应不会结束,页面将输出到客户端。但是,客户端永远看不到它,因为他被重定向了。

如果您执行
Response.Redirect(url)
,则会添加重定向头并结束请求。这意味着ASPX页面中的任何内容都不会输出到客户端。Response.Redirect(url)之后的任何内容都不会输出到页面。你也可以像以前那样删除它


如果执行
Response.Redirect(url,false)
,则响应不会结束,页面将输出到客户端。但是,客户端永远看不到它,因为他被重定向了。

完全没有。你所做的是完全可以接受的

但是,如果页面的唯一目的是重定向,我会使用Handler/ASHX文件,因为它可以完全相同的方式使用,并且没有ASPX页面那么多开销


这里有一个。

什么都没有。你所做的是完全可以接受的

但是,如果页面的唯一目的是重定向,我会使用Handler/ASHX文件,因为它可以完全相同的方式使用,并且没有ASPX页面那么多开销


这是一个。

这不完全正确-收到重定向标题后,浏览器确实会重新定向,但如果目标页面需要时间,则用户可以看到您先前提供的html。因此,一个好的做法是使用html内容告诉用户他正在重定向到另一个位置(提供指向该位置的链接)!谢谢我按照MSDN上的建议执行
Response.Redirect(url,false)
,我想象,如果没有HTML内容,客户端将看到与我调用
Response.Redirect(url)
相同的结果。这不完全是真的-在收到重定向头之后,浏览器确实会重新定向,但如果目标页面需要时间,则用户可以看到您先前提供的html。因此,一个好的做法是使用html内容告诉用户他正在重定向到另一个位置(提供指向该位置的链接)!谢谢我按照MSDN上的建议执行
Response.Redirect(url,false)
,并且我想象,如果没有HTML内容,客户端将看到与调用
Response.Redirect(url)
相同的结果。