如何刷新对话框内容

时间:2010-12-02 13:26:20

标签: jquery asp.net-mvc asp.net-mvc-2 jquery-dialog

我有一个包含部分视图的对话框。 如果用户决定取消对话而不保存,是否可以撤消用户在对话框中所做的更改?

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

还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

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);

试一试......

答案 1 :(得分:0)

我对aspnet mvc了解不多,但就我所知的客户端和脚本而言,只要你在客户端与对话框一起工作,已插入的内容将保留在那里,因为对话框是对话框的一部分页面的dom。为了解决这类问题,我通常创建一个“对话框”类,它将选择器保存到dialoq中的不同字段,并在调用opendialog方法或取消对话框时初始化为默认值。加号值是您的所有客户端脚本对话框都包含在一个简洁的javascript类中。