ASP.NET-第二次回发没有通过SiteMap链接发生?

时间:2010-11-29 04:45:13

标签: asp.net html meta-tags

注意:我有一个从SiteMap呈现的aspx ASPX页面。第一次POSTBACK发生,但随后在同一会话中,POSTBACK不会被解雇。

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页面时,我希望仅在ONCE上调用此META标记。那么,我在OnLoadComplete事件中尝试以下代码? -

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

但是,这不起作用。知道为什么回发没有发生? d

2 个答案:

答案 0 :(得分:0)

&LT; META HTTP-EQUIV =“刷新”CONTENT =“2”&gt;

适用于那些在特定时间间隔后我们不断想要刷新页面的网站,如果你想只刷新整个页面一次就可以在你的场景中使用 做两件事 *)。像这样调用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";
}

答案 1 :(得分:0)

我相信<META HTTP-EQUIV="Refresh" CONTENT="2">也应该有runat="server"属性,以便ASP.NET与之交互。

<强>更新
第二次它不是ASP.NET回发,使用POST但不使用GET检索页面。也许使用<meta http-equiv="refresh" content="2;url=http://example.com/myurl?myvariable=XYZ"/>,所以当它刷新时,它会附加一些变量。在你的“回发”中,你检查是否存在该变量。