注意:我有一个从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
答案 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"/>
,所以当它刷新时,它会附加一些变量。在你的“回发”中,你检查是否存在该变量。