因为 某字段Amt 在数据表的字段类型为:numeric(18,6)
所有简单的经过实体类处理 public decimal Amt { get { return _Amt; } set { _Amt = value; } }
当用户在界面输入: 50
存储到数据库及读出来直接显示 成了 50.000000
为了在MVC的View中 正确显示Model的值 做了如下处理:
1、通过 htmlAttributes的 Value 来设置值
2、通过对数字的TrimEnd来去除无效的零 及 小数点
示例代码如下:
<%=Html.TextBoxFor(m => m.Amt
, htmlAttributes: new { maxlength = 5, style = "width:60px;" , Value = Model.Amt.ToString().NumberStringTrimEndZero() })%>
public static string NumberStringTrimEndZero(this String s) {
//return s.Contains(".") ? s.TrimEnd('0').TrimEnd('.') : s;
double num = double.Parse(s.Replace(",", ""));
return num.ToString("n").Replace(",","");
}