Ответ 1
Вы можете проверить сообщение блога Brad Wilson о шаблонах по умолчанию, используемых в ASP.NET MVC. Когда у вас есть свойство модели типа Enum, это шаблон строки, который визуализируется. Поэтому вы можете настроить этот шаблон редактора строк следующим образом:
~/Views/Shared/EditorTemplates/String.cshtml
:
@model object
@if (Model is Enum)
{
<div class="editor-label">
@Html.LabelFor(m => m)
</div>
<div class="editor-field">
@Html.EnumDropDownListFor(m => m)
@Html.ValidationMessageFor(m => m)
</div>
}
else
{
@Html.TextBox(
"",
ViewData.TemplateInfo.FormattedModelValue,
new { @class = "text-box single-line" }
)
}
а затем, на ваш взгляд, просто:
@Html.EditorFor(x => x.SomeEnumProperty)