名为Color的Enum的EditorFor不使用编辑器模板

时间:2019-03-01 04:52:20

标签: asp.net-mvc vb.net razor asp.net-mvc-5 mvc-editor-templates

我有一个名为Color的属性,类型为Enum,类型为Color,我正在尝试使用编辑器模板。我的枚举编辑器模板是:

@ModelType System.Enum

<div class="form-group">
    @Html.LabelFor(Function(model) model)
    @Html.EnumDropDownListFor(Function(model) model, New With {.Class = "form-control"})
    @Html.ValidationMessageFor(Function(model) model, "", New With {.Class = "text-danger"})
</div>

这适用于除Color以外的所有属性,该属性呈现为:

<input class="text-box single-line valid"
       data-val="true"
       data-val-required="The Color field is required."
       id="Color"
       name="Color"
       type="color"
       value="Black"
       aria-describedby="Color-error"
       aria-invalid="false">

@Html.EditorFor(Function(model) model.AnyOtherEnumProperty)可以按预期工作,但是@Html.EditorFor(Function(model) model.Color)会导致上面的HTML颜色输入。如何使MVC使用正确的编辑器模板?

1 个答案:

答案 0 :(得分:0)

要变通解决此问题,手动指定编辑器模板的名称,如下所示:

@Html.EditorFor(Function(model) model.Color, "Enum")