Я работаю над приложением в .NET Core MVC, и мне хотелось бы иметь имя свойства навигации "Хобби" вместо идентификатора в моем представлении создания
У меня есть это:
И мне бы хотелось:
Что мне удалось получить с этим кодом для действия create в контроллере:
public IActionResult Create()
{
ViewData["HobbiesName"] = new SelectList(_context.Set<Hobbies>(), "HobbiesName", "HobbiesName");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("PersonID,PersonName,PersonSurname,HobbiesID")] Person person)
{
if (ModelState.IsValid)
{
_context.Add(person);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
ViewData["HobbieName"] = new SelectList(_context.Set<Hobbies>(), "HobbiesID", "HobbiesName", person.HobbiesID);
return View(person);
}
А на виду:
<div class="form-group">
<label asp-for="Hobbies.HobbiesName" class="control-label"></label>
<select asp-for="Hobbies.HobbiesName" class ="form-control" asp-items="ViewBag.HobbiesName"></select>
</div>
Но это не работает, потому что мне нужен идентификатор.
Кто-нибудь знает, как я могу справиться с этим. У меня заканчиваются идеи.
Спасибо