我认为这应该很容易但是我困惑了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>
但是,当使用输入“243,000”时,mvc3控制器操作始终认为它无效。
我尝试使用数据注释格式属性而没有运气。
[DisplayFormat(DataFormatString = "{0:#,###}", ApplyFormatInEditMode = true)]
如何让MVC在我的操作中自动格式化用户输入并使模型状态有效?
jQuery numberformatter似乎停止了默认的MVC模型格式化程序来解释字符串。
答案 0 :(得分:0)
试试这个:
$("#Qty").blur(function () {
$(this).parseNumber({ format: "#.###",
locale: "us" });
$(this).formatNumber({ format: "#.###",
locale: "us" });
});
[DisplayFormat(DataFormatString = "{0:#.###}", ApplyFormatInEditMode = true)]
这可能是区域设置问题。如果这解决了你的问题,请告诉我,我们会从那里开始。