ich bin neu mit asp.net und mvc, ich versuche, ein int, eine Liste von int aus einem anderen Objekt und andere Liste von Ints von einem anderen Objekt, mit einem Formular zu senden.kann ich verschiedene Objekte in einem httppost in mvc einfügen?
für Einsatz meiner Sicht der 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>
und die Liste sind
@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>
}
in meinem Controller die Httppost ich versuche, etwas zu tun, wie dies
[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");
}
vielen Dank, ich versuche, für andere Teile zu suchen und ich habe nicht etwas, das ich funktioniert, wenn probiere das Projekt zeige mir folgendes: "Das Parameterwörterbuch enthält einen Nulleintrag für den Parameter 'idEmp' vom Typ" nicht nullbar ".
Da Ihr keinen Wert für 'idEmp' in der Anfrage zu senden. (aber Sie haben eine namens 'empleadoId') –
Vielen Dank stephen, ich ändere es und funktioniert. :) –