在视图的主页面上,用户选择一个项目,该选择用数据填充局部视图(首先调用它)。在该局部视图中,用户还可以选择在前一个下方提供编辑局部视图的项目。这里可以添加,更新或删除新项目。
问题是:当添加新项目时,应更新第一个局部视图。我试图实现它的方法是这样的:
function addBottle() {
var code = $("#Code").val();
var desc = $("#Description").val();
var id = $("#ProjectId").val();
$.ajax({
url: "@Url.Action("AddBottleType", "Managers")",
data: { code: code, desc: desc, id: id },
type: "POST",
datatype: "text",
success: function (data) {
if (typeof data == "undefined") {
alert("Something went wrong. Sorry!");
}
if (data.Success) {
$.alert(data.Data, "Success!");
$.ajax({
url: "@Url.Action("BottleTypes", "Managers")",
data: { projectId: id },
type: "GET",
datatype: "text",
});
} else {
$.alert(data.Data, "Warning!");
}
}
});
};
这为我提供了控制器中的数据,但视图未更新。可能这不是最好的方法,我打开建议,解决方案。
我也完成了自己的工作,谷歌和stackoverflow是我的朋友,但没有一个解决方案有效。
答案 0 :(得分:0)
您需要将其加载到div中。像这样的东西。检查控制器操作是否成功,因此您无需在前端执行Success():
function addBottle() {
var code = $("#Code").val();
var desc = $("#Description").val();
var id = $("#ProjectId").val();
$.ajax({
url: "@Url.Action("AddBottleType", "Managers")",
data: { code: code, desc: desc, id: id },
type: "POST",
datatype: "text",
success: function (data) {
if (typeof data == "undefined") {
alert("Something went wrong. Sorry!");
}
if (data.Success) {
$.alert(data.Data, "Success!");
$("#bottleTypes").load("/Managers/BottleTypes", { projectId: id });
} else {
$.alert(data.Data, "Warning!");
}
}
});
};