我有一个jquery模式,它呈现局部视图,但是当数据输入到视图中并关闭(未保存,只是关闭对话框)时,内容将保留在视图中。因此,下次打开模态时,它与第一次关闭时相同。
有没有办法强制模态渲染原始局部视图或使其执行此操作?我没有发布部分视图内容,因为它只是一个包含字段的简单表单。
查看
<div id="client-detail-modal" title="Add New Address">
@Html.Partial("_Address", address)
</div>
JQuery的
$("#client-detail-modal").dialog({
modal: true,
autoOpen: false,
height: 'auto',
width: 600,
position: ['middle', 20],
buttons: {
"Add Address": function () {
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
}
}
});
$('#client-detail-modal').css('height', 'auto');
引发剂
$("#client-detail-modal").dialog("open");
答案 0 :(得分:1)
$('#myModal')
.on('hide.bs.modal',
function() {
$('#myModal').removeData();
});
在*.cshtml.
上的“脚本”部分插入此代码
这将删除数据,在您下次打开数据时,它们将创建一个新数据。
答案 1 :(得分:0)
当您将局部视图渲染到页面中时,它会将html渲染到您的主dom中。使用jquery对话框,它将获取局部视图并在对话框中显示它。进行更改时,您可以修改原始视图。您应该在对话框打开事件中清除任何旧值或加载默认值,并在对话框关闭事件上保存新值。这样,您可以多次重复使用相同的对话框。
http://api.jqueryui.com/dialog/#method-open http://api.jqueryui.com/dialog/#method-close
将此视为示例并查看源代码 http://jqueryui.com/dialog/#modal-form 在关闭事件中,他们删除任何旧数据并清除任何错误
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}