代码之家  ›  专栏  ›  技术社区  ›  Arnold Zahrneinder

自定义“EditorFor”助手创建的每个元素

  •  0
  • Arnold Zahrneinder  · 技术社区  · 7 年前

    这个 EditorFor EditorFor(x=> x, new {htmlAttributes = new {@class = "x"}}) . 问题是,由于它会自动生成标签、字段和验证消息,因此在传递给该方法的匿名类型中,是否可以自定义这些元素中每一个的样式和类( new { htmlAttributes = ..} ) ?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Transcendent    7 年前

    你必须使用 EditorTemplate EditorFor helper将根据模板自动渲染模型,您无需依赖 htmlAttributes DateTime , IFormFile

    UserModelTemplate.cshtml:
    -------------------------
    @model UserModel 
    
    <div class="form-group">
        <label class="hero-label">
             @Html.DisplayNameFor(m=> m.Username)
             <span class="text-danger">
                @Html.ValidationMessageFor(m=> m.Username)
             </span>
         </label>
         @Html.TextBoxFor(m=> m.Username, new { @class = "form-control"})
    </div>
    

    你可以继续这样下去。开发完模板后,可以将其与 编辑 助手( 将其放在共享文件夹中,也可以放在子文件夹中,以便更好地组织 )

    @Html.EditorFor(model=> model, "UserModelTemplate")