【发布时间】:2019-11-14 08:43:24
【问题描述】:
我想在一个表单中发送多个表单,然后将该表单与 post 请求一起发送到控制器方法。但是集合是空的,它不能得到。我的表格是这样的:
<form method="post" action="PageView/Create">
<form>
<input type="hidden" name="categoryID" value="1">
<input type="hidden" name="pageID" value="1">
</form>
<form>
<input type="hidden" name="categoryID" value="1">
<input type="hidden" name="pageID" value="11">
</form>
</form>
grid.js
const form = document.createElement('form');
form.method = 'post';
form.action = 'PageView/Create';
for (var i = 0; i < collection.length; i++) {
const form2 = document.createElement('form');
for (const key in collection[i]) {
if (collection[i].hasOwnProperty(key)) {
const hiddenField = document.createElement('input');
hiddenField.type = 'hidden';
hiddenField.name = key;
hiddenField.value = collection[i][key];
form2.appendChild(hiddenField);
}
}
form.appendChild(form2);
}
document.body.appendChild(form);
form.submit();
PageView.cs
[HttpPost]
public ActionResult Create(List<PageCategoryPageViewModel> collection)
{
try
{
_pageCategoryPageService.DeletePageCategoryPage();
collection.ForEach(x=>_pageCategoryPageService.CreatePageCategoryPage(x));
return View("SuccessPage");
}
catch
{
return View("ErrorPage");
}
}
【问题讨论】:
-
为什么会有多个表格
-
因为当我点击一个按钮@SourabhSomani 时我必须将它们全部发送出去
-
您是否尝试在一次提交中创建多个记录?
-
@YuryTarabanko 我也无法通过 ajax 发送。 List
集合为空
标签: javascript asp.net-mvc model-view-controller