This question already has answers here:
Limit to 2 decimals in TextBoxFor
                            
                                (4个答案)
                            
                    
                6年前关闭。
        

    

我有这两个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" })
}

最佳答案

您可以使用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表示小数点后的最小和最大位数。因此,请根据您的要求进行更改。

08-28 23:22