连续调用后JQuery popup无法正常工作

时间:2014-11-04 15:49:10

标签: javascript jquery asp.net-mvc asp.net-mvc-4

我正在将MVC 4用于我的项目,并尝试在弹出窗口中编辑或显示我的数据。

当我打开我的打开弹出代码6或7次时,我会出现javascript错误。

我的控制器是

    public ActionResult OpenEditForm(string objectParam, string formStatus)
    {
        BranchNotesDetailViewModel viewModel = new BranchNotesDetailViewModel();

        //..................

        return PartialView("Edit", viewModel);
    }

我的javascript代码是

    myDialog = $("<div> </div>");

    function CreateDialog(name) {
        myDialog.dialog({
            autoOpen: false,
            title: name,
            resizable: false,
            position: 'center',
            stack: true,
            height: 'auto',
            width: 'auto',
            modal: true,
            close: function (event, ui) {
                // remove div with all data and events
                myDialog.remove();
                //myDialog.dialog('close')
            }
        });
    }

    $('#brancNotesList .grid-row').click(function () {
        var json = $(this).children('td:eq(1)').text().trim();
        $.ajax({
            contentType: 'application/html',
            url: '@Url.Action("OpenEditForm", "BranchNotes")',
            dataType: 'html',
            type: 'GET',
            data: {
                objectParam: json,
                formStatus: "1"
            }
        }).done(function (result) {
            CreateDialog('Detail');
            myDialog.html(result).dialog('open');
        });

    });

$(function () {
    $(document).ajaxComplete(function (event, request, settings) {
        //re-parse the DOM after Ajax to enable client validation for any new form fields that have it enabled
        $.validator.unobtrusive.parse(document);
    });
});

function openFormCreate() {
    $.ajax({
        contentType: 'application/html',
        url: '@Url.Action("OpenEditForm", "BranchNotes")',
        dataType: 'html',
        type: 'GET',
        data: {
            formStatus: '2'
        }
    }).done(function (result) {
        CreateDialog('Detail');
        myDialog.html(result).dialog().dialog('open');
    });
}

当我打开一两次对话框时它可以正常工作,但是在第五次或第六次之后它会异常崩溃 JavaScript运行时错误:由于错误80020101

,无法完成操作

我试图在ajax调用之后找到内存问题或者什么但是我无法找到哪里或什么。有办法处理吗?我在一些论坛上读到了这个问题,他们说评论字段导致了这个问题,但它对我不起作用。

1 个答案:

答案 0 :(得分:0)

我发现了我的错误。我有两个布局,一个用于编辑页面的主页面1,我注意到在两个页面中呈现的一些Jquery脚本文件。我从jquery脚本清理了编辑布局,然后一切正常。