RabsoInc Ответов: 1

C# ASP.NET представления - передача данных из выпадающего списка в представление


Я новичок в этом деле .Net Core и кодирование, и я делаю веб-приложение MVC. Теперь все идет отлично, но я не могу заставить падение вниз работать должным образом. Я могу видеть значения в представлении, но когда я возвращаюсь к контроллеру, чтобы создать новую деталь, он не передает идентификатор. Я приветствую некоторые отзывы о том, что я делаю неправильно:

Контроллер
public IActionResult Create()
        {
            ViewBag._PartTypes = new SelectList(partType.ReturnAllPartTypes(), "Id",   "PartTypeName");
            
            return View();
        }


<div class="form-group">
    @Html.LabelFor(x => x.PartTypeId)
    @Html.DropDownListFor(model => model.PartTypeId, (IEnumerable<SelectListItem>)ViewBag._PartTypes)
</div>


Что я уже пробовал:

Я пробовал разные варианты полей и разные подходы, и я просто в тупике.

1 Ответов

Рейтинг:
12

Dave Kreskowiak

Ваша модель пуста, потому что вы ничего не передали в представление. Обратите внимание, что внутри круглой скобки ничего нет:

return View();

Итак, поскольку вы ничего не передали в представление, все ваши ссылки на "модель" в коде Razor будут нулевыми:
@Html.DropDownListFor(model => model.PartTypeId, (IEnumerable<SelectListItem>)ViewBag._PartTypes)


Не используйте ViewBag, если вы используете MVC. Это просто собьет тебя с толку.

Цель модели-передать любые данные в представление, которое отображает HTML-код, любые данные, необходимые для построения HTML-кода, включая содержимое выпадающего списка.