これは非常に簡単なはずですが、2日間戸惑いました。
jquery.numberformatter-1.2.3.min.js を使用して、ユーザー入力のフォーマットと解析を行います。
$("#Qty").blur(function () {
$(this).parseNumber({ format: "#,###",
locale: "us" });
$(this).formatNumber({ format: "#,###",
locale: "us" });
});
ビューに表示するモデル フィールドがあります
[Required]
public long? Qty { get; set; }
<div class="display-field">@Html.TextBoxFor(model => model.Qty)</div>
ただし、use が「243,000」に入ると、mvc3 コントローラー アクションは常に無効な長さであると見なします。
データ注釈フォーマット属性を使用しようとしましたが、うまくいきませんでした。
[DisplayFormat(DataFormatString = "{0:#,###}", ApplyFormatInEditMode = true)]
アクションで MVC が自動的にユーザー入力をフォーマットし、モデルの状態を有効にする方法を教えてください。
jQuery numberformatter は、文字列を解釈するためにデフォルトの MVC モデル フォーマッタを停止しているようです。