ADA - Quiero iterar un DropDownlist

 
Vista:
sin imagen de perfil

Quiero iterar un DropDownlist

Publicado por Miguel (1 intervención) el 13/03/2024 16:12:22
Necesito una ayuda con un @html dropdownlist. Quiero crear una acción donde pueda modificar todas las entradas que poseen el mismo numero de factura, estas entradas son productos. pero tengo las tablas relacionadas entonces lo que hice en mi accion Editar es esto
public IActionResult Editar(int? id)
{
var entrada = _context.Entradas.Find(id);
var listado = _context.Entradas.Where(e => e.Factura == entrada.Factura).Select(e => new { e.Codigo });
var productos = _context.Productos.Join(_context.Entradas, p => p.Id, e => e.Codigo, (p, e) => new { DataValueField = e.Codigo, DataTextField = p.Codigo });
var entradas = _context.Entradas.Where(p => p.Factura == entrada.Factura).ToList();
ViewData["Codigo"] = new SelectList(_context.Productos, "Id", "Codigo");
return View(entradas);
}

y el View lo hice asi
@model List<Entrada>

@using (Html.BeginForm("Editar", "Entradas", FormMethod.Post))
{
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="row">
@for(int i = 0; i < Model.Count; i++){
<div class="form-group">
@if (i == 0)
{
<label class="control-label"> @Html.DisplayNameFor(m =>m[i].Factura):</label>
@Html.EditorFor(m =>m[i].Factura,new{ htmlAttributes= new{@class="form-control"}})
<span class="text-danger">@Html.ValidationMessageFor(m => m[i].Factura)</span>
}
else
{
@Html.HiddenFor(m =>m[i].Factura)
}
</div>
//Aqui vienen los productos de esa Factura que quiero modificar
<div class="col">
<label class="control-label">@Html.DisplayNameFor(m =>m[i].Codigo):</label>
@Html.DropDownList("Codigo",ViewData["Codigo"] as SelectList, new{@class="form-control"})
<span class="text-danger">@Html.ValidationMessageFor(m => m[i].Codigo)</span>
</div>
}
</div>
}

mi pregunta es la siguiente como puedo mostrar tantos dropdown como items tenga esa factura pero con los id ya seleccionados, porque siempre me sale el primer id?.
siiii
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder