Detect browser refresh

后端 未结 2 1105
感情败类
感情败类 2021-01-13 04:13

How can I find out if the user pressed F5 to refresh my page (Something like how SO implemented. If you refresh your page, the question counter is not increased). I have tes

2条回答
  •  耶瑟儿~
    2021-01-13 04:42

    I run into this problem and use the following code. It works well for me.

    bool isPageRefreshed = false;
    
    protected void Page_Load(object sender, EventArgs args)
    {
        if (!IsPostBack)
        {
            ViewState["ViewStateId"] = System.Guid.NewGuid().ToString();
            Session["SessionId"] = ViewState["ViewStateId"].ToString();
        }
        else
        {
            if (ViewState["ViewStateId"].ToString() != Session["SessionId"].ToString())
            {
                isPageRefreshed = true;
            }
    
            Session["SessionId"] = System.Guid.NewGuid().ToString();
            ViewState["ViewStateId"] = Session["SessionId"].ToString();
        } 
    }
    

提交回复
热议问题