如何控制文本框的宽度和小数位?

时间:2012-12-18 06:54:02

标签: razor asp.net-mvc-4

MVC RAZOR VIEW

Html.EditorFors小数位可以使用Dataannotations控制,但没有简单的(如果有的话)控制宽度的方法(它们不采用htmlAttributes并设置宽度无效的css类)。

Html.TextBoxFors允许使用htmlAttributes轻松控制宽度,但没有简单的方法(如果有的话)来控制小数位。

如何获得一个可以控制宽度和小数位的编辑文本框?

2 个答案:

答案 0 :(得分:1)

  

并设置宽度无效的css类

我想那是因为你有一个不正确的CSS选择器。

你可以这样做:

<div class="myrule">
    @Html.EditorFor(x => x.FooBar)
</div>

然后在你的CSS文件中:

.myrule input {
    width: 200px;
}

作为替代方案,您可以编写自定义编辑器模板,然后在使用EditorFor调用时指定此模板的名称:

@Html.EditorFor(x => x.FooBar, "MyTemplate")

答案 1 :(得分:0)

使用正则表达式来控制小数位。

编写一个继承System.ComponentModel.DataAnnotations.RegularExpressionAttribute的自定义属性,该属性指定所需的正则表达式来控制小数位。

然后在viewmodel / model中指定所需字段的自定义属性。