MVC3 JQuery模式对话框保留关闭和重新打开的内容

时间:2013-09-03 19:54:21

标签: c# jquery asp.net-mvc modal-dialog

我有一个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");

2 个答案:

答案 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" );
      }