refId
никогда не передается в метод Index
В вашем коде мы можем найти, что вы указываете asp-for="@Model.FirstOrDefault().RefereeId"
для своего тега <select>
, если вы отметите Исходный код этого выпадающего в браузере, вы найдете name
атрибут значение RefereeId
(не refId
), как показано ниже. Таким образом, оно будет передавать что-то вроде RefereeId=168
через строку запроса в ваше действие, а параметр refId
вашего действия всегда будет равен 0, что вызывает проблему.
Чтобы исправить это, вы можете попробовать переименовать ваш параметр действия в RefereeId
, как показано ниже.
public async Task<IActionResult> Index(int RefereeId)
{
//code logic here
Или изменить код страницы просмотра, чтобы задать имя тега <select>
с помощью "* 1028". * refId".
<select name="refId" asp-items="@ViewBag.PersonId"></select>