asp.net-mvc – 接受逗号和点作为小数分隔符[重复]
发布时间:2020-12-16 00:20:59 所属栏目:asp.Net 来源:网络整理
导读:参见英文答案 How to set decimal separators in ASP.NET MVC controllers?4个答案ASP.NET MVC中的模型绑定很棒,但它遵循区域设置。在我的语言环境中,小数点分隔符是逗号(‘,’),但用户也使用点(‘。’),因为它们懒得切换布局。我希望在我的模型中的所
参见英文答案 >
How to set decimal separators in ASP.NET MVC controllers?4个答案ASP.NET MVC中的模型绑定很棒,但它遵循区域设置。在我的语言环境中,小数点分隔符是逗号(‘,’),但用户也使用点(‘。’),因为它们懒得切换布局。我希望在我的模型中的所有十进制字段的一个地方实现。
我应该为十进制类型实现自己的Value Provider(或事件Model Binder),还是我错过了一些简单的方法来执行此操作? 解决方法
最干净的方法是实现自己的模型绑定器
public class DecimalModelBinder : DefaultModelBinder { public override object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext) { var valueProviderResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); return valueProviderResult == null ? base.BindModel(controllerContext,bindingContext) : Convert.ToDecimal(valueProviderResult.AttemptedValue); // of course replace with your custom conversion logic } } 并在Application_Start()中注册它: ModelBinders.Binders.Add(typeof(decimal),new DecimalModelBinder()); ModelBinders.Binders.Add(typeof(decimal?),new DecimalModelBinder()); 积分:Default ASP.NET MVC 3 model binder doesn’t bind decimal properties (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – sql server报告服务和其他报告工具之间有什么区
- 删除ASP.NET MVC 4路由到应用程序根目录中的尾随斜杠
- asp.net – 在VS Code中指定localhost端口的位置
- asp.net – 如何在单击“赞”按钮时在新选项卡中打开Facebo
- asp.net-mvc – 可从全局路由访问的ASP.NET MVC3区域控制器
- asp.net-mvc – 具有.NET MVC 5属性路由的贪婪段
- asp.net-mvc – 有人解释我Html.DropDown,它是最亲密的朋友
- asp.net – 如何将kendo Ui下拉选择值的ID传递给控制器???
- .NET Core容器化之多容器应用部署@Docker-Compose
- asp.net-mvc-3 – Apress Pro Asp.net MVC框架3 – SportsS
推荐文章
站长推荐
- ASP.NET MVC 2 – 如何使用IgnoreRoute忽略整个目
- 如何让OleDb在asp.net核心项目中阅读excel
- asp.net-mvc – ASP.NET MVC现在是“开源”.这是
- asp.net-web-api – APIController“已执行”方法
- ASP.NET用户控件列表/集合/数组属性
- Asp.net Images随机提供401个未经授权的错误
- asp-classic – Request.BinaryRead(Request.Tot
- 如何从Asp.Net核心身份验证中获取策略列表?
- asp.net – 如何将HTML页面转换为.ASPX页面并向其
- asp.net-mvc – MVC3中的Url.RouteUrl()和Url.Ac
热点阅读