За сценой перечисления - это числа.Когда вы отобразите свою страницу, вы увидите, что опция «Первый» выбрана вместо «Пожалуйста, выберите ..».Это связано с тем, что параметр с текстом «Первый» имеет значение 0
, а 0 - значение по умолчанию для типа int
.Поэтому, когда форма отправляется с параметром «Пожалуйста, выберите», элемент данных формы для «MyEnum» будет пустым / пустым, но так как тип не обнуляемый тип, связыватель модели установит первый параметр перечисления.
Вы должны изменить свой тип на nullable enum.
public class MyViewModel
{
[Required]
public MyEnum? MyEnum { get; set; }
}
Теперь, когда пользователь выбирает «Пожалуйста, выберите» и отправляете форму, значение будет NULL
вместо первого перечисления (0)