如何使用EditorFor添加类?

时间:2014-01-06 12:26:34

标签: asp.net-mvc razor asp.net-mvc-5

我正在使用Razor为View创建一些HTML。

使用此代码:

<div class="form-group">
    @Html.LabelFor(m => m.ConfirmEmail, new { @class = "col-md-2 control-label" })
    <div class="col-md-10">
        @Html.EditorFor(m => m.ConfirmEmail, new { @class = "form-control" })
    </div>
</div> 

Razor生成此HTML:

<input class="text-box single-line" data-val="true" data-val-length="The User Email must be at least 6 characters long." data-val-length-max="100" data-val-length-min="6" data-val-required="The User Email field is required." id="UserEmail" name="UserEmail" type="email" value="">

请注意class="text-box single-line"

我需要改为class="form-control"

我在这里做错了什么以及如何解决?


    [Required]
    [StringLength(100, ErrorMessageResourceName = "Common_Annotations_CharactersLong", ErrorMessageResourceType = typeof(Resources), MinimumLength = 6)]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "Account_Register_UserEmail", ResourceType = typeof(Resources))]
    public string UserEmail { get; set; }

    [DataType(DataType.EmailAddress)]
    [Display(Name = "Account_Register_ConfirmEmail", ResourceType = typeof(Resources))]
    [Compare("UserEmail", ErrorMessageResourceName = "Account_Register_ConfirmEmailErrorMessage", ErrorMessageResourceType = typeof(Resources))]
    public string ConfirmEmail{ get; set; }

1 个答案:

答案 0 :(得分:1)

我基本上在视图中找到了一个解决方案:

@Html.TextBoxFor() 

并添加:

[EmailAddress(ErrorMessage = "Invalid Email Address")] 

在模型中。

    [Required]
    [StringLength(100, ErrorMessageResourceName = "Common_Annotations_CharactersLong", ErrorMessageResourceType = typeof(Resources), MinimumLength = 6)]
    [EmailAddress(ErrorMessage = "Invalid Email Address")]
    [Display(Name = "Account_Register_UserEmail", ResourceType = typeof(Resources))]
    public string UserEmail { get; set; }

    [EmailAddress(ErrorMessage = "Invalid Email Address")]
    [Display(Name = "Account_Register_ConfirmEmail", ResourceType = typeof(Resources))]
    [Compare("UserEmail", ErrorMessageResourceName = "Account_Register_ConfirmEmailErrorMessage", ErrorMessageResourceType = typeof(Resources))]
    public string ConfirmEmail{ get; set; }



<div class="form-group">
    @Html.LabelFor(m => m.UserEmail, new { @class = "col-md-2 control-label" })
    <div class="col-md-10">
        @Html.TextBoxFor(m => m.UserEmail, new { @class = "form-control" })
    </div>
</div>
<div class="form-group">
    @Html.LabelFor(m => m.ConfirmEmail, new { @class = "col-md-2 control-label" })
    <div class="col-md-10">
        @Html.TextBoxFor(m => m.ConfirmEmail, new { @class = "form-control" })
    </div>
</div>