我正在使用JQuery对话框来呈现部分视图。
场景:
第1步:点击'添加'锚链接,带文本框的对话框将打开。
步骤2:用户填写文本框值并单击“保存”按钮。
步骤3:将保存详细信息并关闭对话框。
第4步:现在用户点击查看'锚链接,再次打开只读文本框值的对话框。
步骤5:用户将点击取消按钮。
第6步:再次用户点击'添加'锚链接,以及打开文本框的对话框。
步骤7:用户填写文本框值并单击“保存”按钮。
第8步:问题从此处开始。它应该保存用户刚刚输入的详细信息,但它保存了旧值(我们在步骤4中查看过)。
我尝试使用下面的代码在点击和打开对话框上呈现部分视图
var div = $("#DivTaskDetail");
var Title = "";
if (Mode == 1) {
Title = "Edit Task Detail";
}
else if (Mode == 2) {
Title = "View Task Detail";
}
else {
Title = "Add Task Detail";
}
div.load("/Task/TaskDetailEditView?taskID=" + TaskID + "&mode=" + Mode, function () {
div.dialog({
modal: true,
width: 500,
height: 450,
title: Title,
resizable: false,
close: function () {
$(this).dialog("close");
}
});
});
点击取消按钮,我写了以下代码
function onClickCancelTask() {
$('#DivTaskDetail').dialog("close");
}
我尝试过以下不同的代码来关闭对话框,但没有一个能正常工作。
1. $('#DivTaskDetail').empty();
2. $('#DivTaskDetail').remove();
3. $('#DivTaskDetail').dialog('destroy').remove();
4. $('.ui-icon-closethick').click();
5. $('#DivTaskDetail').dialog("close");
6. $('#DivTaskDetail').dialog("destroy");
7. $("#DivTaskDetail").dialog("destroy");
$('#DivTaskDetail').dialog('close').dialog('remove');
8. $('#DivTaskDetail').dialog("destroy");
$('#DivTaskDetail').remove();
任何人都可以指导我这个。?
答案 0 :(得分:0)
我找到了解决方法并且它对我来说很好。
我使用下面的代码打开Partial View作为JQuery对话框。
var div = $("#DivTaskDetail");
var Title = "";
if (Mode == 1) {
Title = "Edit Task Detail";
}
else if (Mode == 2) {
Title = "View Task Detail";
}
else {
Title = "Add Task Detail";
}
$.ajax({
url: "/Task/TaskDetailEditView",
type: "Post",
datatype: "html",
data: { "taskID": TaskID, "mode": Mode },
success: function (data) {
$('#DivTaskDetail').html(data);
$("#DivTaskDetail").dialog({
autoopen: false,
width: 500,
height: 450,
modal: true,
resizable: false,
draggable: true,
title: Title,
open: function () {
$('div.ui-widget-overlay').hide();
$("div.ui-dialog").not(':first').remove();
}
});
$('a.ui-dialog-titlebar-close').remove();
$('#divProcessImage').css({ "display": "none" });
},
error: function (req, status, error) {
ErrorMessage(req.responseText);
$('#screen').css({ "display": "block", "width": "", "height": "" });
$('#divProcessImage').css({ "display": "none" });
}
});
点击关闭按钮,我正在使用下面的代码。
$('#DivTaskDetail').dialog("destroy");
$('#DivTaskDetail').html("");