ASP.NET MVC5 Razor不适用于类

don*_*ote 0 c# asp.net-mvc razor

@Html.EditorFor(model => model.Id, new { @class = "form-control" } )
Run Code Online (Sandbox Code Playgroud)

编译成

<input class="text-box single-line" 
    data-val="true" data-val-email="The Id field is not a valid e-mail address." 
    data-val-required="The Id field is required." 
    id="Id" name="Id" value="" type="email">
Run Code Online (Sandbox Code Playgroud)

如何让Razor申请上课form-control

Chr*_*tos 5

你应该使用@Html.TextBoxForhtml助手.

使用@Html.EditorFor你不能这样做.

发生这种情况的原因是EditorForhtml帮助器首先要找出应该为模型属性生成的适当html元素.因此它无法将css类分配给未知元素.另一方面,TextBoxFor生成具有类型文本的输入元素.因此,它可以应用您从一开始就选择的css类.

例如,如果我们有这个:

@Html.EditorFor(model => model.IsAdult)
Run Code Online (Sandbox Code Playgroud)

生成的元素将是复选框类型的输入元素(我想这IsAdult是一个布尔类型).