Одна вещь, в которой вам нужно убедиться, когда вы заполняете любой контент на странице производной от сервера информацией, это то, что вы передаете его правильно.
По вашему мнению, я вижу, что вы ищете ViewBag.MumSport. Таким образом, это означает, что в запросе get вашего действия вам нужно будет заполнить ViewBag.MumSport соответствующими значениями.
Контроллер, который вы написали, также выглядит немного запутанным ... мы обычно ожидаем, что у нас будет контроллер "get (verb)", который вы используете для настройки страницы. Обычно мы делаем такие вещи, как создание значений для выпадающего списка и заполнение всего, что вам нужно для страницы. Обычно здесь не происходит сохранение данных. Однако создается впечатление, что вы сохраняете раскрывающийся список в базе данных?
Полагаю, вам может понадобиться что-то вроде этого:
public IActionResult Create()
{
ViewBag.MumSport = new List<SelectListItem>
{
new SelectListItem { Text = "nikako", Value = "1" },
new SelectListItem { Text = "rekreativno", Value = "2" },
new SelectListItem { Text = "amaterski", Value = "3" },
new SelectListItem { Text = "profesionalno", Value = "4" }
}
return View();
}
[HttpPost]
public IActionResult Create(view model goes in here)
{
Business logic goes here
}
Это должно означать, что ваш выпадающий список заполняется, но он также показывает различие между методами post и get. Как правило, публикация - это то, где вы можете создать или сохранить информацию в магазине (базе данных).
Надеюсь, это поможет
UPDATE
вместо того, чтобы иметь все свойства как часть подписи для метода post, вы можете попробовать использовать созданную вами модель:
public async Task<IActionResult> Create(student viewModel)
Затем вам необходимо убедиться, что ваши элементы ввода в форме имеют имена, совпадающие с моделью представления (student):
<select asp-for="StudentId" asp-items="@(ViewBag.MumSports)">
если вы сделаете это, ваши свойства должны автоматически привязаться к viewModel, когда вы нажмете на контроллер. Еще одним преимуществом такого подхода является то, что ModelState.IsValid будет проверять все атрибуты в этом классе и проверять их, когда вы отправляете форму. Это особенно полезно при установке полей в соответствии с требованиями с помощью атрибута [Обязательный]