是否可以使用Response.AddHeader,特别是我正在尝试使用其中的“Refresh”。我需要在重定向之前暂停,但代码运行的位置在codebehind的ASCX中。当我在我的Codebehind中有以下内容时,它什么也不做:
HttpContext.Current.Response.AddHeader("Refresh", "6;URL=Default.aspx");
在ascx页面的codebehind中,有没有办法重定向用户?
url
之间有一个空格,并且url
关键字采用小写。如果它在特定浏览器上失败,我怀疑这不是问题,但值得一试。Refresh: 0; url=http://www.example.com/
一种替代方案,也许更易于调试的方法是使用一个元标签而非HTTP报头,并将其显示在标记中。可以像这样:
var metaControl = new HtmlMeta
{
Content = "2;url=http://webdesign.about.com/",
HttpEquiv = "refresh"
};
Page.Header.Controls.Add(metaControl);
<head>
区域添加一个<meta>
标签,这样就可以达到预期的效果。你尝试过吗?
if(today == "Friday")
{
Response.Redirect("destination.aspx")
}