Я пытаюсь использовать помощники тегов MVC6 для создания раскрывающегося списка CountryCode и CountryName, чтобы пользователь мог выбрать свою страну после регистрации. Соответствующая часть зрения выглядит это так далекоMVC6 Dropdownlist of Countries
<form asp-controller="Manage" asp-action="EditCountry" asp-route-returnurl="@ViewData["ReturnUrl"]">
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<select asp-for="CountryCode" asp-items="@Model.Countries"></select>
соответствующая часть ViewModel выглядит следующим образом
[Display(Name = "Country")]
public string CountryCode { get; set; }
public IEnumerable<Country> Countries { get; set; }
Страновые выглядит как этот
public partial class Country
{
[Key]
public string CountryCode { get; set; }
public string CountryName { get; set; }
public virtual ICollection<ApplicationUser> Users { get; set; }
}
Контроллер возвращающего список стран к модели наблюдения
var model = new IndexViewModel
{
CountryCode = user.CountryCode,
Countries =_customersContext.Countries.OrderBy(c=>c.CountryName),
};
return View(model);
}
, но с точки зрения asp-items="@Model.Countries"
имеет деформированный Cannot convert Country to SelectListItem
Кроме того, я не могу найти, как в форме, чтобы указать COUNTRYCODE как собственность, чтобы вернуть и COUNTRYNAME как свойство для отображения.
Благодарим вас за разъяснение. Это сработало. – Vague