2

我有一个呈现部分视图的 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");
4

2 回答 2

1
$('#myModal')
    .on('hide.bs.modal',
        function() {
            $('#myModal').removeData();
        });

在脚本部分插入此代码,*.cshtml.
这将删除数据,并且在您下次打开它时,它们将创建一个新数据。

于 2017-01-09T14:23:03.367 回答
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" );
      }
于 2013-09-03T22:14:17.893 回答