如何刷新对话框内容

问题描述:

我有包含partialview的对话框。 如果用户决定取消对话框而不保存,是否可以撤销用户在对话框中所做的更改?如何刷新对话框内容

如果用户现在打开相同的对话框,即使用户取消了对话框,更改仍然存在。 我知道可以调用控制器并替换局部视图。

有没有其他办法?

sanke - 当partialview第一次加载时,您可以将div的内容存储在.data()元素中。然后,如果取消(不保存),只需将.data()重新插入为该对话框创建的div即可。

行动比言语大声说话:

// the partial getting loaded 
$("#targetDiv").html(data); 
var foo = document.body; 
jQuery.data(foo, "myKey", data); 

然后在取消你可以做反向:

// inside the dialog cancel event 
var foo = document.body; 
var data = jQuery.data(foo, "myKey"); 
$("#targetDiv").html(data); 

试试看......

+0

谢谢,工作正常 - – Karl 2010-12-02 14:14:53

我不知道关于aspnet mvc很多,但就我所知的客户端和脚本来说,只要你在对话框中使用客户端,已经插入的东西就会停留在那里,因为对话框是页面的一部分。要解决这类问题,我通常会自己创建一个“对话框”类,它将选择器保存到dialoq中的不同字段,并在调用opendialog方法或取消对话框时将其初始化为默认值。其中的优点是所有客户端脚本对话框都包含在一个整洁的JavaScript类中。