私はasp.netとmvcで新しく、int、別のオブジェクトからのintのリスト、および他のオブジェクトからのintの他のリストをフォームとともに送信しようとしています。mvcのhttppostに異なるオブジェクトを挿入できますか?
挿入のための私の見解intは
@using (Html.BeginForm("Guardar", "pedidoEmp"))
{
@Html.ValidationSummary(true, "Please fix the following errors.")
<center>
<div class="form-group">
@Html.LabelFor(m => m.empleadoId)
@Html.DropDownListFor(m => m.empleadoId, new SelectList(Model.verEmp, "empleadoId", "Nombre"), "", new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.empleadoId)
</div>
</center>
とリストでは
@for (var i = 0; i < Model.verMenu.Count; i++)
{
<tr>
<td>
@Html.HiddenFor(menuId => Model.verMenu[i].MenuId)
@Html.DisplayFor(sopa => Model.verMenu[i].Sopa)
</td>
です。 。 。
<div class="form-group">
@for (var o = 0; o < Model.opMenuVer.Count; o++)
{
if (Model.opMenuVer[o].MenuId == Model.verMenu[i].MenuId)
{
@Html.CheckBox("OpcionId", new { value = Model.opMenuVer[o].OpcionId })
@Html.Label(Model.opMenuVer[o].Nombre)
@Html.ValidationMessageFor(m => Model.opMenuVer[o].OpcionId)
}
}
</div>
</td>
</tr>
}
</tbody>
</table>
@Html.AntiForgeryToken()
<button type="submit" class="btn btn-primary">Guardar</button>
}
私のコントローラで私はこの
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Guardar(int idEmp, List<int> menusId, List<int> opsId)
{
List<PedidoXEmpleados> pedido = new List<PedidoXEmpleados>();
if (!ModelState.IsValid)
{
return View("agregarMenu");
}
for (int i = 0; i < menusId.Count; i++)
{
pedido[i].estadoPedido = true;
pedido[i].EmpleadoId = idEmp;
pedido[i].MenuId = menusId[i];
pedido[i].OpcionId = opsId[i];
_conBd.PedidoXEmpleados.Add(pedido[i]);
}
_conBd.SaveChanges();
return RedirectToAction("Index");
}
ような何かをしようとhttppostはどうもありがとうございました、私は他のパーツを検索しようとするとき、私、私は、働く何かを見つけることができませんでしたプロジェクトに試してみてください。 "パラメータ辞書には、nullable型のパラメータ 'idEmp'のnullエントリが含まれています。
にこれらの変更を行う必要があります。 (しかし、あなたは 'empleadoId'という名前を持っています) –
とてもスティーブンに感謝します。私はそれを変えて動作させます。 :) –