部分视图未在 ajax Post 请求 MVC 中序列化
Partial view not serializing in ajax Post request MVC
正在为我的页面实现自动保存功能。所以在一定间隔调用操作后 Autosave()
。但是我的页面已经开始形成包括局部视图。间隔调用后的代码工作正常。
<script type="text/javascript">
window.setInterval(function () {
var form = $("#addpost");
$.ajax({
url: '@Url.Action("AutoSavePostAction", "MyControllerName")',
data: form.serialize(),
type: 'POST',
success: function (data) {
$("#Id").val(data);
}
});
}, 30000);
视图是:
@using (Html.BeginForm("SavePostAction", "MyControllerName", FormMethod.Post, new { enctype = "multipart/form-data", id="addpost" }))
{
.................
@Html.Partial("_TextPostPartial", Model);
.................
}
SavePostAction
是在调用提交之后。在此提交中,从局部视图获取值不是问题。
但是在 ajax 调用中,局部视图不包含在序列化中。
这里 _TextPostPartial
具有与模型紧密绑定的 CKEditor。
像局部视图有:
<textarea id="Description" name="Description">@Html.Raw(Model.Description)</textarea>
已编辑:
[HttpPost]
public ActionResult AutoSavePostAction(PostDTO postDTO, FormCollection postFormCollection)
{
}
[HttpPost]
[MemberFunction]
public ActionResult SavePostAction(PostDTO postDTO, FormCollection postFormCollection)
{
}
在序列化表单数据之前需要将CKEditor的值赋值给input
window.setInterval(function () {
$("#Description").val(CKEDITOR.instances['Description'].getData()); // add this
var form = $("#addpost");
$.ajax({
url: '@Url.Action("AutoSavePostAction", "MyControllerName")',
data: form.serialize(),
type: 'POST',
success: function (data) {
$("#Id").val(data);
}
});
}, 30000);
正在为我的页面实现自动保存功能。所以在一定间隔调用操作后 Autosave()
。但是我的页面已经开始形成包括局部视图。间隔调用后的代码工作正常。
<script type="text/javascript">
window.setInterval(function () {
var form = $("#addpost");
$.ajax({
url: '@Url.Action("AutoSavePostAction", "MyControllerName")',
data: form.serialize(),
type: 'POST',
success: function (data) {
$("#Id").val(data);
}
});
}, 30000);
视图是:
@using (Html.BeginForm("SavePostAction", "MyControllerName", FormMethod.Post, new { enctype = "multipart/form-data", id="addpost" }))
{
.................
@Html.Partial("_TextPostPartial", Model);
.................
}
SavePostAction
是在调用提交之后。在此提交中,从局部视图获取值不是问题。
但是在 ajax 调用中,局部视图不包含在序列化中。
这里 _TextPostPartial
具有与模型紧密绑定的 CKEditor。
像局部视图有:
<textarea id="Description" name="Description">@Html.Raw(Model.Description)</textarea>
已编辑:
[HttpPost]
public ActionResult AutoSavePostAction(PostDTO postDTO, FormCollection postFormCollection)
{
}
[HttpPost]
[MemberFunction]
public ActionResult SavePostAction(PostDTO postDTO, FormCollection postFormCollection)
{
}
在序列化表单数据之前需要将CKEditor的值赋值给input
window.setInterval(function () {
$("#Description").val(CKEDITOR.instances['Description'].getData()); // add this
var form = $("#addpost");
$.ajax({
url: '@Url.Action("AutoSavePostAction", "MyControllerName")',
data: form.serialize(),
type: 'POST',
success: function (data) {
$("#Id").val(data);
}
});
}, 30000);