0

VM に 10 進数のプロパティがあります。

    [Required, Display(Name = "Manual Payment Amount")]
    [DisplayFormat(DataFormatString = "{0:n2}", ApplyFormatInEditMode = true)]
    public decimal EnteredPaymentAmount { get; set; }

ビューは次のようになります。

@Html.TextBoxFor(m => m.EnteredPaymentAmount, new { style = "width:200px", maxlength = Model.MaximumPaymentAmount.ToString("N").Length })        

入力を小数点以下 2 桁までに制限したい

これを行う最善の方法は何ですか?DisplayFormat だけでなく、TextBoxFor のフォーマットも適用しようとしましたが、それでも検証に合格しました。つまり、小数点以下 3 桁まで入力できます。

4

3 に答える 3

0

これはどう:-

@{var formated = String.Format("{0:0.00}", EnteredPaymentAmount);}
@Html.TextBoxFor(m => m.EnteredPaymentAmount, formated, new { id = "id"})

編集:-

EditorForあなたも使ってみることができます

@Html.EditorFor(m => m.EnteredPaymentAmount)
于 2013-09-22T15:26:02.063 に答える
0
$('input#EnteredPaymentAmount').blur(function () {
                var num = parseFloat($(this).val());
                var cleanNum = num.toFixed(2);
                $(this).val(cleanNum);
            });

上記のコードを使用しましたが、問題なく動作しました。

于 2013-09-22T15:29:42.807 に答える