Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向后导航&;重新加载页面_C#_Asp.net - Fatal编程技术网

C# 向后导航&;重新加载页面

C# 向后导航&;重新加载页面,c#,asp.net,C#,Asp.net,我的ASP.NET(Framework 4)web项目中的导航有问题。母版页上有一个登录字段。母版页还包含一个ContentPlaceHolder,它动态地包含其他aspx页面。我从“a”页开始,导航到“b”页。当我登录到页面“b”时,导航中的另一个节点将可见。现在我的问题是:当我从浏览器中按下“历史回顾”按钮时,附加节点在“a”页上消失 我发现页面“a”不会再次重新加载,因为它是从浏览器的缓存加载的 我尝试了一些链接按钮(Zureck): 我还在C#源代码和aspx源代码中尝试了缓存限制: p

我的ASP.NET(Framework 4)web项目中的导航有问题。母版页上有一个登录字段。母版页还包含一个ContentPlaceHolder,它动态地包含其他aspx页面。我从“a”页开始,导航到“b”页。当我登录到页面“b”时,导航中的另一个节点将可见。现在我的问题是:当我从浏览器中按下“历史回顾”按钮时,附加节点在“a”页上消失

我发现页面“a”不会再次重新加载,因为它是从浏览器的缓存加载的

我尝试了一些链接按钮(Zureck):

我还在C#源代码和aspx源代码中尝试了缓存限制:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Cache.SetCacheability(HttpCacheability.NoCache);

    if (Session["sessionKuerzel"] != null)
    {
        view = (TreeView)this.FindControl("TreeViewVerwaltung");
        view.Visible = true;
        login = (Button)this.FindControl("Senden");
        login.Visible = false;
        logout = (Button)this.FindControl("Logout");
        logout.Visible = true;
        benutzerrecht = (string)(Session["sessionRecht"]);
        if (benutzerrecht.Equals("Administrator")){
            view.Nodes[0].ChildNodes[1].SelectAction = TreeNodeSelectAction.Select;
        }
        else{
            view.Nodes[0].ChildNodes[1].SelectAction = TreeNodeSelectAction.None;
        }
        view.Visible = true;
    }          
}
Site.Master.aspx(Head):


但所有这些选择都不能与Mozilla FireFox配合使用

如何在历史记录中导航并重新加载页面?有什么想法或解决方案吗?

试试这个

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Response.Buffer = true;
            Response.CacheControl = "no-cache";
            Response.AddHeader("Pragma", "no-cache");
            Response.Expires = -1441;
        }


    }

我相信你必须使用一个负的过期时间才能使它正常工作。为什么这个值是Response.Expires=-1441?@user1785960你可以使用一个负数作为Expires属性来立即使响应过期,@geek如果你使用post方法从a页转到B页,用按钮返回,用按钮前进,它会如何工作?
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Response.Buffer = true;
            Response.CacheControl = "no-cache";
            Response.AddHeader("Pragma", "no-cache");
            Response.Expires = -1441;
        }


    }