Asp.Net中浏览器刷新的页面重定向

时间:2013-09-13 05:15:53

标签: c# asp.net refresh

我正在开发一个用于进行在线检查的Web应用程序。我想阻止参赛者在浏览器中刷新页面。如果他们这样做,我想将他们导航到一个说他们被取消资格的页面。我该如何实现呢?

1 个答案:

答案 0 :(得分:0)

以下代码段检测page_load函数中的“刷新”

    bool IsPageRefresh = false;

    protected void Page_Load(object sender, EventArgs e)
    {
        //this section of code checks if the page postback is due to genuine submit by user or by pressing "refresh"

        if (!IsPostBack)
        {
            ViewState["ViewStateId"] = System.Guid.NewGuid().ToString();
            Session["SessionId"] = ViewState["ViewStateId"].ToString();
        }
        else
        {
            if (ViewState["ViewStateId"].ToString() != Session["SessionId"].ToString())
            {
                IsPageRefresh = true;
            }
            Session["SessionId"] = System.Guid.NewGuid().ToString();
            ViewState["ViewStateId"] = Session["SessionId"].ToString();
        }
    }

然后,您可以在代码隐藏中使用'IsPageRefresh'布尔标志来确定它是由于真正的用户提交操作还是浏览器'刷新'而发布的回发。