从浏览器刷新而不是服务器控件调用页面加载时的C#检测

时间:2017-05-19 12:38:18

标签: c#

当执行C#中的页面加载事件时,是否有一种方法可以检测是否已从用户点击浏览器上的刷新(或F5)或从被点击的服务器控件中调用? 我想知道最后一个事件是什么时候是页面刷新(不是服务器控件,例如点击按钮)。这两个事件都会引发页面重新加载,但我无法判断它是否来自浏览器刷新。

1 个答案:

答案 0 :(得分:1)

我通过使用jquery检测页面主体上的元素何时被单击来解决这个问题。它在后面的代码中调用函数OnSubmit(使用AJAX),将C#变量“pagereresh”设置为false。在页面顶部声明变量时,该变量设置为true。 在Pageload中我检查这个变量,如果它是假的,我知道导致页面加载的事件是页面上的一个按钮点击。如果是真的我知道它是一个页面重新加载。在C#中的Page_Unload我把这个变量设置回true 。 Jquery代码如下:

$(document).click(function (e) {
              // Check for left button
              if (e.button == 0) {

                  $.ajax({
                      type: "POST",
                      url: "Default.aspx/OnSubmit",
                      contentType: "application/json; charset=utf-8",
                      dataType: "json",
                      success: function (response) {


                      },
                      failure: function (response) {

                      }
                  });
              }
          });