TextBoxFor以千位显示值

时间:2014-07-29 10:31:53

标签: c# asp.net asp.net-mvc

您好我有以下文本框

@Html.TextBoxFor(r => model.Hours, new { @class = "form-control NumberVal input-sm text-right", @data_cp_min_value = 0, @data_cp_max_value = 10000, @Value = String.Format("{0:#,##0}", model.Hours) })

当我执行IsNaN(input.val())

时,我的js验证如何返回true

同样在提交表格时,小数部分会在提交价值时丢失。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

<script type="text/javascript">
function onRegisterNumberChange(value)
{
 if(value=="")
   return false;

}
</script>

@Html.TextBoxFor(r => model.Hours, new { @class = "form-control NumberVal input-sm text-right", @data_cp_min_value = 0,@onclick = "onRegisterNumberChange(this.value);", @data_cp_max_value = 10000, @Value = String.Format("{0:#,##0}", model.Hours) })

答案 1 :(得分:0)

你能提供你的js代码吗?

或者如果您愿意,可以使用RangeAttribute来实现您想要的其他解决方案

您的模型中的示例只需添加以下内容

[Range(0,1000,"value should be between [0,1000]!")]
public int Hours{get;set;}

您可以使用此处提到的想法Using Only Numbers,以便仅接受数字作为输入 并在您的web.config中启用客户端验证

希望这会对你有所帮助

问候