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