将textboxfor设置为接受2个小数位

时间:2013-08-14 14:54:36

标签: javascript jquery asp.net-mvc html.textboxfor

我有两个textboxfor,我需要它们只允许输入2个小数位。 我假设jQuery或Javascript事件可以做到这一点。我只是不确定如何在Javascript中调用textboxfor。 任何帮助将不胜感激

@Html.TextBoxFor(m => Model.Categories[c].EstimateGroups[g].EstimateItems[i].PerUnitCost,
                 new { @disabled = "disabled", @onchange = "costUpdate(this);", @cstType = "perUnit",@id="perUnit"})

<span class="sideLabel">@Model.Categories[c].EstimateGroups[g].EstimateItems[i].PerUnitDescription</span>

if (Model.Categories[c].EstimateGroups[g].EstimateItems[i].Units != null
 && !Model.Categories[c].EstimateGroups[g].EstimateItems[i].IsBasedOnHomeSquareFootage)
{ 
    @Html.TextBoxFor(m => Model.Categories[c].EstimateGroups[g].EstimateItems[i].Units,
                     new { @disabled = "disabled", @onchange = "costUpdate(this);", @cstType = "units" })
}

1 个答案:

答案 0 :(得分:2)

您可以使用RegularExpression属性。这将完成这项工作。

[RegularExpression(@"^\d+.\d{0,2}$", 
             ErrorMessage = "It cannot have more than one decimal point value")]
public double PerUnitCost {get;set;}   

此处在{0,2}中,0和2表示小数点后的最小和最大位数。所以根据你的要求改变。