jQuery技术:ViewData.ModelState.IsValid为false,因为Mvc无法解析用逗号分隔数百和数千的值

我有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

      (0)
      上一篇 2020年12月21日
      下一篇 2020年12月21日

      精彩推荐