我們在asp.net web表單項目上發生了一些奇怪的問題,頁面加載和顯示一些數據(基本上是gridview)。在頁面加載事件中的某個頁面上設置斷點時,我們發現了一些奇怪的事情。大約1-2分鐘後,我們的頁面加載事件再次觸發...並再次..等等。我們無法理解爲什麼會發生這種情況,但我們將其縮小爲我們在網站母版頁上使用的一段JavaScript代碼。PageLoad事件由於idletimeout插件而多次觸發?
我們正在使用eric hynd的idletimeout plugin。該代碼有一些JS,看起來像這樣:
// cache a reference to the countdown element so we don't have to query the DOM for it on each ping.
var $countdown = $("#dialog-countdown");
var sessionTimeoutWarning = '<%= ConfigurationManager.AppSettings["SessionWarningInSeconds"] %>';
// start the idle timer plugin
$.idleTimeout('#dialog', 'div.ui-dialog-buttonpane button:first', {
idleAfter: sessionTimeoutWarning,
serverResponseEquals: 'OK',
onTimeout: function() {
window.location = "/SessionExpired.aspx";
},
onIdle: function() {
$(this).dialog("open");
},
onCountdown: function (counter) {
$countdown.html(counter); // update the counter
}
});
如果我只是註釋掉的代碼的應用程序不再有多次調用頁面加載事件問題的這一部分。我們在我們的site.master上有這個代碼,所以這基本上發生在任何使用站點主站的頁面上。我們做了一些谷歌搜索,並找到提及類似問題的文章,但他們表示這可能是由於img
標籤沒有正確的src
集合引起的。但這不是我們的問題,我們的問題只是這個空閒超時插件導致頁面加載事件觸發多次,我們不知道爲什麼。在我註釋代碼的那一刻,一切正常。
您可以創建重現該問題的plnkr.co頁?或者是在服務器端觸發'PageLoad'?如果它位於服務器端,那麼當瀏覽器控制檯發生這種情況時,您會看到什麼HTTP流量? – akonsu