我已经实现了一个使用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未被调用两次 - 事实上,下拉菜单对于第一次按键操作正确。它停止工作,并在第一次击键后用旧的返回数据使回调加倍。