是否可以使用Response.AddHeader,特别是我试图使用它的“刷新”。,我需要它在重定向之前暂停,但是运行代码的位置在代码背后的ASCX中。当我的代码背后有以下内容时,它什么也不做:
HttpContext.Current.Response.AddHeader("Refresh", "6;URL=Default.aspx");我可以在ascx页面的代码背后重定向用户吗?
发布于 2011-04-04 13:49:18
我不知道为什么这不适用于您--添加重定向到HTTP头似乎是正确的语法,而且它在几个浏览器上都适用于我。要调试这一点,您可以运行Fiddler或类似的工具来查看完整的HTTP响应,并查看它是否没有到达标头。
您可能想稍微修改一下格式--我看到的示例在分号和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);这将向您的<meta>部分添加一个<head>标记,这应该具有所需的效果。
发布于 2011-04-01 19:23:47
你试过吗
if(today == "Friday")
{
Response.Redirect("destination.aspx")
}如果这不起作用,请更具体地说明你想要达到的目标。
https://stackoverflow.com/questions/5514039
复制相似问题