Pap*_*ndy 1 asp.net-mvc jquery internet-explorer jquery-ui
我会开始说这在Chrome和Firefox中完美运行,但不适用于IE(IE9).
期望的行为:我的页面上有一个包含超链接的部分视图.当您单击超链接时,它使用jQuery函数弹出一个对话框以输入新的注释.关闭对话框时,应使用新计数刷新部分视图.
在IE中,它适用于第一次传递,但不是后续传递.
我正在使用jQuery 1.6.1和jQuery UI 1.8.13进行对话.
这是我的函数,它被超链接调用,我已经确认它每次都会点击这个函数,只是在调用.load时没有进入控制器(或者它忽略了close函数):
function showNoteDialog(id) {
//alert(id);
var dialogOpts = {
title: 'Add Note',
modal: true,
autoOpen: false,
height: 600,
width: 600,
closeOnEscape: true,
open: function (event, ui) {
jQuery.ajaxSetup({ cache: false });
//display correct dialog content
$('#noteDialog).load('<%= Url.Action("ModalNoteEdit","Notes")%>', { id: id });
}
,
// refresh the partial view
close: function (event, ui) {
$('#noteList).load('<%= Url.Action("NoteList","Notes")%>');
}
};
$('#noteDialog).dialog(dialogOpts);
$('#noteDialog).dialog('open');
//end dialog
return false;
}
Run Code Online (Sandbox Code Playgroud)
我打赌IE正在缓存ModalNoteEdit操作的结果.我会尝试做一些事情来阻止缓存.也许设置一个响应头,或者为每次更改的请求添加一个查询字符串.例如:
$('#noteDialog).load('<%= Url.Action("ModalNoteEdit","Notes")%>' + Date.now(), { id: id });
Run Code Online (Sandbox Code Playgroud)