【发布时间】:2017-05-02 11:12:13
【问题描述】:
保存表单数据后,只需要加载div而不是整个页面刷新而是首先进入Main Page Action Controller,然后是DIV Load Partial Action Controller。我找不到它发布整个页面的原因。
我也添加了preventDefault() 命令。
$("#btnSave").click(function (e) {
e.preventDefault();
var url = "@Url.Action("Save", "Note")";
var id = "1";
var model = {
modelfields.....
};
$.ajax({
type: "POST",
data: JSON.stringify(model),
url: url,
contentType: "application/json",
success: function (data) {
if (data == "True") {
// Load div
var settings = { editUrl: '@Url.Action("Get", "Note", new { ID = "-1" })' };
settings.editUrl = settings.editUrl.replace("-1", id);
$("#divNoteDetails").load(settings.editUrl);
}
else if (data == "False") {
alert('not saved');
}
},
error: function () {
alert('error');
}
});
return false;
});
【问题讨论】:
-
Note 操作返回什么?
-
两者都有
ActionResult作为返回类型,Save返回ContentResult而GetAction返回PartialView -
所以你的页面在你点击提交按钮后刷新了吗?
-
如果我在 ajax 成功中添加了这个 div 加载命令,页面首先刷新,然后进入部分视图操作。如果我删除此命令,它将不会刷新。但我需要在保存表单后加载 div。
-
它是一个普通按钮而不是提交按钮
标签: javascript jquery html asp.net-mvc