如何在MVC中的TextBoxFor中限制为2位小数?

las*_*hja 5 asp.net-mvc html.textboxfor

我想要小数点后只有 2 位数字。

@Html.TextBoxFor(m => m.Viewers, new { @tabindex = 7 })
Run Code Online (Sandbox Code Playgroud)

需要这样的输出:

56.23

456.20

1.21

像那样..

MAN*_*ARY 3

我会在我的视图中使用编辑器模板。我将定义专门针对给定视图的要求定制的视图模型(在本例中将其限制为小数点后两位):

[DisplayFormat(DataFormatString = "{0:n2}", ApplyFormatInEditMode = true)]
public decimal Viewers{ get; set; }
Run Code Online (Sandbox Code Playgroud)

或者您可以简单地将正则表达式与模型一起使用,例如

[RegularExpression(@"^\d+.\d{0,2}$")]
public decimal Viewers{ get; set; }
Run Code Online (Sandbox Code Playgroud)

然后在html中:

@Html.EditorFor(m => m.Viewers) 
Run Code Online (Sandbox Code Playgroud)

或者TextBoxFor()也可以使用正则表达式

@Html.TextBoxFor(m => m.Viewers, new { @tabindex = 7 })
Run Code Online (Sandbox Code Playgroud)