如何为html.EditorFor helper设置大小?

mar*_*cin 7 asp.net-mvc asp.net-mvc-2

设置生成字段大小的最简单方法是什么?

Dar*_*rov 15

使用CSS:

<div class="foo">
    <%= Html.EditorFor(x => x.Foo) %>
</div>
Run Code Online (Sandbox Code Playgroud)

并在您的CSS文件中:

.foo input {
    width: 200px;
}
Run Code Online (Sandbox Code Playgroud)

你也可以实现一个自定义的DataAnnotationsModelMetadataProvider这将让你你想生成的输入字段的任何附加属性,如class,maxlength,size,...

  • DataAnnotationsModelMetadataProvider + 1的良好链接 (2认同)

Ada*_*son 6

另一个选择是:不是将类附加到输入的包装器,而是可以将HTML属性应用于输入本身(但不适用于"EditorFor"):

@Html.TextBoxFor(x => x.Foo, new { @class = "bar" })
Run Code Online (Sandbox Code Playgroud)

进一步讨论:http: //michaelware.net/post/2010/01/31/Custom-Attributes-When-Using-HtmlTextBoxFor.aspx