asp.net-mvc-3 – .NET MVC 3自定义十进制?模型粘合剂
发布时间:2020-12-16 04:34:17 所属栏目:asp.Net 来源:网络整理
导读:在我的模型中,我有以下小数?属性: public decimal? Budget { get; set; } 我意识到我需要一个小数的自定义模型绑定器,Haack在以下链接中提供:http://haacked.com/archive/2011/03/19/fixing-binding-to-decimals.aspx. 我修改了他的代码,这样如果传入的值
在我的模型中,我有以下小数?属性:
public decimal? Budget { get; set; } 我意识到我需要一个小数的自定义模型绑定器,Haack在以下链接中提供:http://haacked.com/archive/2011/03/19/fixing-binding-to-decimals.aspx. 我修改了他的代码,这样如果传入的值确实包含货币符号和/或逗号,那么我将其剥离然后尝试将其转换为小数.这是有效的,但我的属性是一个可以为空的十进制类型,我也希望它不接受任何东西并沿着它的快乐方式移动到我的数据库中的该列插入一个null.现在它插入0.00.我知道我在代码中遗漏了一些内容,但我正在大脑冻结. 这是绑定码: public object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext) { ValueProviderResult valueResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); ModelState modelState = new ModelState { Value = valueResult }; object actualValue = null; object newValue = null; try { if (!string.IsNullOrEmpty(valueResult.AttemptedValue)) { newValue = valueResult.AttemptedValue.Replace("$","").Replace(",",""); } actualValue = Convert.ToDecimal(newValue,CultureInfo.CurrentCulture); } catch (FormatException e) { modelState.Errors.Add(e); } bindingContext.ModelState.Add(bindingContext.ModelName,modelState); return actualValue; } 再次,目标是有小数?像往常一样行事,但如果有一个包含货币符号和/或逗号的值,它可以转换为小数,然后返回. 谢谢 解决方法
在try块中,我认为你需要类似的东西
string valToCheck = valueResult.AttemptedValue; if(valToCheck == string.Empty) { actualValue = null; } else { actualValue = Convert.ToDecimal(valToCheck.Replace("$",string.Empty),CultureInfo.InvariantCulture); } 在您的代码中,您始终将actualValue设置为ToDecimal()的结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 客户端验证未显示消息
- asp.net-mvc – 升级到MVC 3:CS0103:名称’视图’不存在于
- asp.net – SOAP 1.2在SOAP 1.1工作时产生错误请求
- ASP.NET异步任务 – 如何使用Page.RegisterAsyncTask使用We
- asp.net – 如何从usercontrol处理页面事件? (VB.net)
- 手动搭建自己的nuget服务器及使用
- asp.net url分页类代码
- ASP.NET:使用Request [“param”]与使用Request.QueryStri
- 泛型单例
- asp.net-mvc – 添加一个默认的SelectListItem
推荐文章
站长推荐
- asp.net – 具有一个无效的SelectedValue,因为它
- 在ASP.NET中开发SharePoint Web部件
- asp.net-mvc – 无法在Global.asax上加载类型Mvc
- asp.net-membership – 黑客有可能解密ASP.NET会
- asp.net-mvc – 如何使用ASP.NET MVC 1.0从文件系
- 在ASP.NET中禁用JavaScript时检测
- asp.net-mvc-3 – ASP.Net MVC 3,Ninject和Quart
- 【Asp.Net MVC+EF+三层架构】详解(三)MVC VS 三
- asp.net – 将int数组发布到MVC控制器 – 什么是
- asp.net-mvc – 请在ASP.NET MVC中等待页面
热点阅读