通过 Htmlhelper.editorfor() (MVC) 创建颜色输入类型

use*_*253 0 html asp.net-mvc html-helper

我有使用 htmlhelper 创建的表单的以下部分:

    <div class="form-group">
        @Html.LabelFor(model => model.ColorCode, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.ColorCode, new {htmlAttributes = new { @class = "form-control" } })
            <!--<input type="color" class="form-control"/>-->
            @Html.ValidationMessageFor(model => model.ColorCode, "", new {@class = "text-danger"})
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

的数据类型ColorCode是字符串,所以默认情况下它只创建一个普通的文本框。我想要的是让输入作为颜色选择器。注释的 html 本质上是我想要它创建的(+ 将它连接到表单所需的任何属性,如果适用。我不是 HTML 专家)。有没有办法做到这一点?我无法通过搜索找到有关它的任何信息。

Mih*_*scu 5

你可以尝试这样的事情:

@Html.TextBoxFor(model => model.ColorCode, new {@class="form-control", type="color"})
Run Code Online (Sandbox Code Playgroud)

EditorFor会使用编辑器模板生成HTML输出。要使用它,您必须为该特定属性类型定义一个编辑器模板,但由于这是一个string它有点通用。

@Stephen Muecke 在评论中也指出了这一点。