Проблема в том, что вы привязываетесь к ViewData
, используя лямбда-выражение вместо свойства модели с типом значения и используете неназначенный ViewBag.pharmacies
, поэтому привязка не работает должным образом.
Сначала вы должны создать свойство модели:
[BindProperty]
public int PharmacyID { get; set; }
А затем связал его с DropDownListFor
помощником:
@Html.DropDownListFor(model => model.PharmacyID, new SelectList(ViewData["PharmacyID"], "Key", "Value"),"-- select --")
Или используйте <select>
помощник по тегам:
// Page controller (cshtml.cs)
ViewData["PharmacyID"] = new SelectList(pharmacies, "Key", "Value");
<!-- CSHTML view -->
<select asp-for="PharmacyID" asp-items="@ViewData["PharmacyID"]" ...></select>