我已經實現了一個使用ASP.Net 2.0中實現的回調結構的.NET Web控件。這是一個自動降低控件,它在IE 6.0/7.0和Google Chrome中正常工作。下面是相關的回調函數:ASP.NET 2.0回調在Firefox中無法正常工作
function ReceiveServerData(args, context)
{
document.getElementById(context).style.zIndex = 300;
document.getElementById(context).style.visibility = 'visible';
document.getElementById(context).innerHTML = args;
fixHover(context);
}
在Firefox中,「ARGS」始終是相同的數據,所以<div>
這是我的下拉列表中顯示始終顯示的相同項目的innerHTML。我已經重新檢查了我的客戶端代碼,正確的信息被髮送到客戶端 - >服務器,並返回server-> client。
值得注意的是,由.NET Framework創建的「WebForm_DoCallback」功能,下面的代碼片段獲取調用:
if (setRequestHeaderMethodExists) {
xmlRequest.onreadystatechange = WebForm_CallbackComplete;
callback.xmlRequest = xmlRequest;
xmlRequest.open("POST", theForm.action, true);
xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlRequest.send(postData);
return;
}
和回調函數ReceiveServerData被稱爲上都xmlRequest.open("POST", theForm.action, true);
和xmlRequest.send(postData);
。我想知道這是否會導致錯誤,但是我處於調試技能的末尾。
編輯添加 - 在第一次使用下拉菜單時,ReceiveServerData未被調用兩次 - 事實上,下拉菜單對於第一次按鍵操作正確。它停止工作,並在第一次擊鍵後用舊的返回數據使回調加倍。