我正在将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调用之后找到内存问题或者什么但是我无法找到哪里或什么。有办法处理吗?我在一些论坛上读到了这个问题,他们说评论字段导致了这个问题,但它对我不起作用。
答案 0 :(得分:0)
我发现了我的错误。我有两个布局,一个用于编辑页面的主页面1,我注意到在两个页面中呈现的一些Jquery脚本文件。我从jquery脚本清理了编辑布局,然后一切正常。