Вы можете просмотреть сообщение в блоге Брэда Уилсона о шаблонах по умолчанию , используемых в 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)