我目前正在编写一个使用 MVC 3 处理我们公司计费的内部应用程序。
Finance 的要求之一是用户可以通过页面上的选项卡控件访问特定客户的属性(一对多关系)。当他们想要编辑或删除属性时,他们希望编辑/删除屏幕出现在新选项卡或窗口中。
如果他们决定删除新选项卡/窗口中的属性,我如何刷新第一个选项卡/窗口,以便他们无法选择最近删除的属性?
编辑:我忘了提到当他们完成编辑/删除属性时,选项卡/窗口会自动关闭。
我目前正在编写一个使用 MVC 3 处理我们公司计费的内部应用程序。
Finance 的要求之一是用户可以通过页面上的选项卡控件访问特定客户的属性(一对多关系)。当他们想要编辑或删除属性时,他们希望编辑/删除屏幕出现在新选项卡或窗口中。
如果他们决定删除新选项卡/窗口中的属性,我如何刷新第一个选项卡/窗口,以便他们无法选择最近删除的属性?
编辑:我忘了提到当他们完成编辑/删除属性时,选项卡/窗口会自动关闭。
是时候回答我自己的问题了,基于对讨论 beforeunload 事件的另一个问题的回答。
因此,我通过执行以下脚本连接了 beforeunload 事件以在窗口的开启器上进行刷新:
$(window).bind("beforeunload", function () {
window.opener.location.reload(true);
})
漂亮,干净,简单。
您可以使用 ajax 调用刷新页面
$(document).ready(function(){
setInterval(loading(),1000);
function loading(){
$("#loaddiv").load("your url");
}
})
如果对话框是浏览器窗口,您可以通过以下方式刷新父级(打开对话框的窗口):
window.parent
然后,解决方案是父级中的一个 javascript 函数,用于刷新元素列表:
function getClientProperties(int idClient) { ajax refresh on the list }
当用户编辑或删除一个属性时,您只需在模式中调用父函数 getClientProperties() 通过以下方式传递 idClient(或引用客户端的属性):
window.parent.getClientProperties(idClient)
如果模态框是同一页面内的 div,例如通过 jquery 打开,则解决方案更容易,因为您只需在用户编辑或删除属性时刷新或控制元素。