Как загружать DropDownList?

Я работаю с ASP.NET MVC5, стараюсь загружать dropdownlist данными.

Controller

public ActionResult Listar()
    {
        var proveedor = SdProveedor.ListaTipoDocumentoIdentidad();
        ViewBag.ListaProveedores = new SelectList(proveedor, "Id", "Descripcion");
        return View();
    }

View

<div class="form-group">
        @Html.LabelFor(model => model.DocumentoIdentidad, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("myDropDown", (SelectList)ViewBag.ListaProveedores)
        </div>
    </div>

Он дает мне ошибку: Нет никакого элемента ViewData типа IEnumerable<SelectListItem> с ключом myDropDown

1
задан 08.02.2017, 15:05
0 ответов

Чтобы мочь получать список базы данных (с данными Id и Описания) и показывать ее в одном DropDownList, я рекомендую тебе использовать следующую функциональность, чем по какого-то разума, DropDownList работай верно с List<SelectListItem>:

Код Controller

public ActionResult Index()
{
    var proveedor = SdProveedor.ListaTipoDocumentoIdentidad();
    ViewBag.ListaProveedores = ListaProveedores.Select(p => new SelectListItem() { Value = p.Id.ToString(), Text = p.Descripcion }).ToList<SelectListItem>();
    return View();
}

Код в View:

@Html.DropDownListFor(m => m.Id, (List<SelectListItem>)ViewBag.ListaProveedores, "Seleccione un Proveedor", new { @class = "form-control small" })
1
ответ дан 03.12.2019, 17:38
  • 1
    Этот mé я хочу использовать все в виде Create, где я нуждаюсь в том, чтобы показать список данных в DropDownList, в этот случай это та же té cnica, который ты используешь в View? –  18.01.2017, 21:46