我用大量的jqgrids开发了一个ASP.NET MVC(版本2 rc)应用程序。它就像是火狐的冠军,但我在IE8中发现了一个问题。
“主视图”网格可以通过搜索框或网格上方的几个下拉列表之一进行过滤。我使用一些javascript重置网格的URL,然后触发一个重载,thusly:
function filterByName(filter) {
if (filter == 'All') {
$('#list').setGridParam({ url: 'Application/GetApplications' });
$('#list').trigger("reloadGrid");
}
else {
$('#list').setGridParam({ url: 'Application/GetAppByName/' + filter + '/' });
$('#list').trigger("reloadGrid");
}
}
这在firefox中很神奇,但是当我在ie8中这样做的时候,我收到了一个HTP400错误的请求。与Firebug的火焰喷射器相比,IE8客户端调试器就像弗林特和廷德,所以我不太幸运地弄清楚它为什么会在IE8中中断。有人看到这个吗?
另外,这里的jqgrid“trigger”方法正在接受Ajax异常。有没有办法让它冒泡起来,这样我就可以了解异常的详细信息?
更新
:
问题在于下拉列表的“onchange”事件中的语法。我用的是:
onchange="filterByMnemonic($('#drpMnemonic')[0].value);
火狐显然不介意,但我认为这是胡桃。但是,这在两种浏览器中都有效:
onchange = "filterByMnemonic($('#drpMnemonic > option:selected').attr('value'));"