簡體   English   中英

ascx文件中的Response.AddHeader

[英]Response.AddHeader in an ascx file

是否可以使用Response.AddHeader特別是我試圖使用它的“刷新”。 我需要它在重定向之前暫停,但代碼運行的地方是在代碼隱藏中的ASCX中。 當我在Codebehind中有以下內容時,它什么都不做:

HttpContext.Current.Response.AddHeader("Refresh", "6;URL=Default.aspx");

我可以在ascx頁面上重定向代碼隱藏中的用戶嗎?

我不知道為什么這對你不起作用 - 似乎是將重定向添加到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>部分,該部分應具有所需的效果。

你有沒有嘗試過

if(today == "Friday")
{
   Response.Redirect("destination.aspx")
}

如果這不起作用,請更具體地說明您要完成的任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM