MVC6 Dropdown-Liste der Länder
Ich versuche, MVC6-Tag-Helfer zu verwenden, um eine Dropdown-Liste mit CountryCode und CountryName zu erstellen, damit ein Benutzer nach der Registrierung sein Land auswählen kann. Der relevante Teil der Ansicht sieht bisher so aus
<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>
Der relevante Teil des Ansichtsmodells sieht so aus
[Display(Name = "Country")]
public string CountryCode { get; set; }
public IEnumerable<Country> Countries { get; set; }
Ein Land sieht so aus
public partial class Country
{
[Key]
public string CountryCode { get; set; }
public string CountryName { get; set; }
public virtual ICollection<ApplicationUser> Users { get; set; }
}
Der Controller gibt eine Liste der Länder an das Ansichtsmodell zurück.
var model = new IndexViewModel
{
CountryCode = user.CountryCode,
Countries =_customersContext.Countries.OrderBy(c=>c.CountryName),
};
return View(model);
}
aber in der Ansichtasp-items="@Model.Countries"
hat eine schnörkelloseCannot convert Country to SelectListItem
Auch ich kann nicht finden, wie in dem Formular CountryCode als die zurückzugebende Eigenschaft und CountryName als die anzuzeigende Eigenschaft angegeben wird.