我有int?
类型的字段int?
。
在视图上我使用jquery插件将3,463,436
值与逗号分开,如下所示: 3,463,436
= 3463436
– 它必须是int
值。
但是在Form subbmit上我得到错误“值’3,463,436’对于Maximum Contiguous无效。”
任何建议? 谢谢。
在ASP.NET MVC中,一个选项是实现一个自定义的ModelBinder
,它从提交的值中删除逗号。 即实现DefaultModelBinder
的子类
以下是如何为decimal
数据类型的小数分隔符执行此操作:
如何在ASP.NET MVC控制器中设置小数分隔符?
对于int
数据类型的千位分隔符,您将需要类似的东西。
比删除逗号更好的解决方案是使用.NET内置的NumberStyles解析。
public class MyBinder : DefaultModelBinder { public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { string key = bindingContext.ModelName; var v = ((string[])bindingContext.ValueProvider.GetValue(key).RawValue)[0]; int outPut; if (int.TryParse(v, NumberStyles.AllowThousands, new CultureInfo("en-US"), out outPut)) return outPut; return base.BindModel(controllerContext, bindingContext); } } ModelBinders.Binders.Add(typeof(int), new MyBinder());
以上就是jQuery教程分享ViewData.ModelState.IsValid为false,因为Mvc无法解析用逗号分隔数百和数千的值相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/532199.html