0

我认为这应该很容易,但让我困惑了 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 控制器动作总是认为它的 long 无效。

我尝试使用数据注释格式属性,但没有运气。

[DisplayFormat(DataFormatString = "{0:#,###}", ApplyFormatInEditMode = true)]

如何让 MVC 在我的操作中自动格式化用户输入并使模型状态有效?

似乎 jQuery numberformatter 停止了默认的 MVC 模型格式化程序来解释字符串。

4

1 回答 1

0

尝试这个:

$("#Qty").blur(function () { 
    $(this).parseNumber({ format: "#.###", 
                          locale: "us" }); 
    $(this).formatNumber({ format: "#.###", 
                           locale: "us" }); 
});

[DisplayFormat(DataFormatString = "{0:#.###}", ApplyFormatInEditMode = true)]

这可能是语言环境问题。如果这解决了您的问题,请告诉我,我们将从那里开始。

于 2012-07-24T21:54:01.847 回答