asp.net-mvc-3 – .NET MVC 3自定义十进制?模型粘合剂
发布时间:2020-05-24 10:06:08 所属栏目: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 – .NET 4.5 MVC RouteCollection.LowercaseUr
- vbscript – 服务器端注释:ASP Classic中相当于% - - %的
- asp.net-mvc – 使用Html.BeginForm发布到当前控制器
- ASP.NET网站或Web项目
- .net – 如何获得程序集最后修改日期?
- asp.net-mvc – ASP.NET MVC RememberMe
- asp.net-mvc – ASP.NET MVC和EF代码第一内存使用
- asp.net-mvc – 如何将MVC路由添加到特定控制器?
- asp.net-mvc-3 – asp.net mvc的telerik grid的开源替代品?
- asp.net-mvc-4 – ViewModels或ViewBag?
推荐文章
站长推荐
- asp.net-mvc – 将HttpRequestMessage转换为Http
- asp.net web-api – ASP.Net Web API模型绑定不工
- asp.net-mvc – 如何在不依赖NHibernate的情况下
- asp.net从指定文化获取.resx的所有资源(Resource
- asp.net-mvc – asp.net mvc我可以有一个视图为多
- asp.net-mvc – 如何从FilterAttribute中获取当前
- asp.net-mvc – ASP.NET MVC验证消息未被本地化
- asp.net-mvc – 获取文件内容的绝对路径
- asp.net-mvc – 在MVC3或MVC4中检查项目构建
- asp.net-core – 我为什么要选择带有.Net核心的A
热点阅读
