2010-11-29 71 views
0

注意:我有一個從SiteMap呈現的aspx ASPX頁面。第一次發生POSTBACK,但隨後在同一會話中,POSTBACK不會被觸發。ASP.NET-第二回覆沒有通過SiteMap鏈接發生?

HACK(沒有工作) - 我有這樣的HTML標籤

<html> 
<head id="Head1" runat="server"> 
    <META HTTP-EQUIV="Refresh" CONTENT="2"> 
    <link rel="Stylesheet" type="text/css" href="~/Main.css" id="style"/> 
</head> 
</html> 

當我訪問這個ASPX頁面,我想這個META標籤只調用一次內部刷新meta標籤。所以,我在OnLoadComplete事件中嘗試以下代碼? -

 HtmlMeta meta = new HtmlMeta(); 
     HtmlHead head = (HtmlHead)Page.Header; 
     head.Controls.RemoveAt(0); 

但是,這不起作用。任何想法爲什麼回發沒有發生? d

回答

0

< META HTTP-EQUIV =「刷新」 CONTENT =「2」>

是適合那些網站,我們不斷需要一個特定的時間間隔後刷新頁面,在這裏你的情況下,如果你只想刷新整個頁面一次然後你可以 做兩件事 *)。 call Response的方法是這樣的

Response.Redirect("currentPage.aspx") 

*)。在Page_Load方法

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Session["refresh"] != null) 
    { 
     HtmlMeta meta = new HtmlMeta(); 
     HtmlHead head = (HtmlHead)Page.Header; 
     head.Controls.RemoveAt(0); 
    } 
    else 
     Session["refresh"] = "not null"; 
} 
+0

Jeevan,問題是當我登陸這個aspx頁面時,我沒有收到回覆。所以,我將META REFRESH標籤用於POSTBACK,然後我不想再有任何POSTBACKS。 – Jimmy 2010-11-29 06:07:23

+0

@ Angshuman-你可以發佈你的完整代碼,因爲我不明白爲什麼你不是在回發PostBack,因爲在正常情況下它會回發,你的問題還不清楚。 – 2010-11-29 06:11:20

0

相信<META HTTP-EQUIV="Refresh" CONTENT="2">也應該有一個runat="server"屬性,以便ASP.NET與它進行交互。

UPDATE
第二次它不是一個ASP.NET回發,頁面沒有使用POST,但使用GET被檢索。也許使用<meta http-equiv="refresh" content="2;url=http://example.com/myurl?myvariable=XYZ"/>,所以當它刷新時,它會附加一些變量。在你的「回傳」中,你檢查該變量是否存在。