C# Response.Redirect()问题

C# Response.Redirect()问题,c#,asp.net,lifecycle,response.redirect,C#,Asp.net,Lifecycle,Response.redirect,在整个程序中,我总是使用Response.Redirect()方法。我一直认为,无论何时调用此方法,当前页面都会终止,重定向页面也会启动。但后来,我意识到Response.Redirect()还有第二个参数:bool endResponse。所以我得出结论,页面没有被终止…(如果我错了,请纠正我) 但在某些时候,我需要使用Response.AddHeader(“REFRESH”,“3;URL=mypage.aspx”)来延迟页面重定向。但现在恐怕页面没有被终止。所以我决定使用Page.Unloa

在整个程序中,我总是使用
Response.Redirect()
方法。我一直认为,无论何时调用此方法,当前页面都会终止,重定向页面也会启动。但后来,我意识到Response.Redirect()还有第二个参数:
bool endResponse
。所以我得出结论,页面没有被终止…(如果我错了,请纠正我)

但在某些时候,我需要使用
Response.AddHeader(“REFRESH”,“3;URL=mypage.aspx”)
来延迟页面重定向。但现在恐怕页面没有被终止。所以我决定使用
Page.Unload
事件。但我不知道如何使用它


任何人都可以向我解释如何正确结束页面的生命周期?

在这两种情况下,页面都会被终止

第二个值的“default”(true-default)表示代码将终止

如果将值设置为false,则会发生重新定向,但后面的任何代码都将继续运行

因此:

那么,在开始或发现时将该值设置为true?它不会改变一件事,因为那是/是最初的默认设置

因此,如果使用“false”,则该例程中的代码将继续运行,直到子退出(end sub),然后另一个页面将与其正常事件周期一起运行

因此,真/假实际上只是决定您是否想要硬退出

如果在response.redirect之后还需要或想要运行几行代码?那么,我们可以:

移动响应。在这些代码行之后重定向,或者如前所述,使用“false”不终止当前子系统中代码的执行

那么,如果你包含了一个假的?然后页面重新定向发生,但直到代码存根中的子程序运行完毕

编辑:

对于响应,似乎有一些混淆。重定向(“WebForm2”)

在c#中,如果我们进入定义,我们得到: 让我们看看第二个过载:

我们看不到第二个值存在建议的默认值。 (没有默认设置)

进入def,我们看到:

现在有两种方法(第二种是重载)

我们可以展开第二个(没有第二个参数)。 我们看到:

对于重载(第二个值),我们看到:

同样,第二个参数没有指定的默认值

一个简单的快速测试将确认:

response.Redirect("some url")

两者产生相同的效果——代码存根终止并退出

如果希望代码存根用完并继续运行,则使用

Response.Redirect("some url", false)

是必需的。

在这两种情况下,页面都会被终止

第二个值的“default”(true-default)表示代码将终止

如果将值设置为false,则会发生重新定向,但后面的任何代码都将继续运行

因此:

那么,在开始或发现时将该值设置为true?它不会改变一件事,因为那是/是最初的默认设置

因此,如果使用“false”,则该例程中的代码将继续运行,直到子退出(end sub),然后另一个页面将与其正常事件周期一起运行

因此,真/假实际上只是决定您是否想要硬退出

如果在response.redirect之后还需要或想要运行几行代码?那么,我们可以:

移动响应。在这些代码行之后重定向,或者如前所述,使用“false”不终止当前子系统中代码的执行

那么,如果你包含了一个假的?然后页面重新定向发生,但直到代码存根中的子程序运行完毕

编辑:

对于响应,似乎有一些混淆。重定向(“WebForm2”)

在c#中,如果我们进入定义,我们得到: 让我们看看第二个过载:

我们看不到第二个值存在建议的默认值。 (没有默认设置)

进入def,我们看到:

现在有两种方法(第二种是重载)

我们可以展开第二个(没有第二个参数)。 我们看到:

对于重载(第二个值),我们看到:

同样,第二个参数没有指定的默认值

一个简单的快速测试将确认:

response.Redirect("some url")

两者产生相同的效果——代码存根终止并退出

如果希望代码存根用完并继续运行,则使用

Response.Redirect("some url", false)

是必需的。

您的问题对我来说似乎有点不清楚,如果您正在查找ASP.NET页面生命周期,请参阅此文档或[CodeProject]文章[().FWIW,无需使用
响应。重定向
,只需链接到下一页,ASP.NET将接管所有内容。您的问题对我来说似乎有点不清楚,如果您正在查找ASP.NET页面生命周期,请参阅此文档或[CodeProject]文章[().FWIW,无需使用
响应。重定向
,只需链接到下一页,ASP.NET将处理所有内容。intellisense表示默认值为FALSE。从intellisense//endResponse://true终止响应;否则为FALSE。默认值为FALSE。vb.NET或c#中的intellisense未声明默认值。实际文本ays:>>>将客户端重定向到新URL,以及当前页面的执行是否应终止。endResponse:指示当前页面的执行是否应终止。>>>--因此,在inteli文本中,默认值为true或false建议、暗示或实际声明(根本没有此类建议或声明)。简单的问题是,如果您忽略了第二个参数,您将得到一个终止。如果您将参数输入为true,那么它将再次终止。第二个重载与第一个重载相同,都是true。如果这是一个重载,那么这两个方法(一个有第二个选项)和一个没有?