Привязка SelectTagHelper к Enum с использованием Display (Name) для SelectList (но с сохранением строки Value вместо int) - PullRequest
0 голосов
/ 26 сентября 2018

(здесь WPF dev, новинка для веб-приложений)

В моей БД есть поле, содержащее строки.Для простоты давайте представим, что строки обозначают страны.Строки содержат пробелы (например, "United States").

Мне нужно предоставить способ обновить это поле для данной записи.

Я планировал с помощью EnumMemberAttribute [EnumMember(Value = "United States")] до сохранить строку, а не int , в БД (чтобы избежать проблем при добавлении элемента enum и облегчить читабельность - также потому, что новые записи сСтроки будут вставляться в пакет регулярно, для их сохранения потребуется использовать их как целые, и в будущем могут появиться другие опции / орфографические ошибки.

Я сделал Enum, но не могу получить свойSelectTagHelper для выберите соответствующий элемент для любой данной записи.Вместо этого выбирается первый элемент ("") .

public enum CountryEnum
{
    [Display(Name="")]
    None,
    [Display(Name = "United States of America")]
    USA,
    [Display(Name = "Great Britain")]
    UK
}

My SelectTagHelper:

<select asp-for="SelectedRecord.Country" asp-items="Html.GetEnumSelectList<MyApp.Models.CountryEnum>()">

1 Ответ

0 голосов
/ 03 октября 2018

Мое плохое: я использовал Enum в классе, но не смог объявить его таким: свойство было строкой, а не (экземпляром) моего Enum.

public class Employee
{
    public string Country {get; set;}
}

(Мораль:не кодируй пока болен)

...