asp.net-mvc – 双值绑定问题
发布时间:2020-05-24 14:13:20 所属栏目:asp.Net 来源:互联网
导读:在我的项目中,我希望允许用户以2种格式输入双值:使用’,’或’.’作为分隔符(我对指数形式不感兴趣).默认值为分隔符’.’不行. 我希望此行为适用于复杂模型对象中的所有双属性(目前我使用包含标识符和值的对象集合). 我应该使用什么:价值提供商或模型粘合剂
|
在我的项目中,我希望允许用户以2种格式输入双值:使用’,’或’.’作为分隔符(我对指数形式不感兴趣).默认值为分隔符’.’不行.
我应该使用什么:价值提供商或模型粘合剂?请展示解决我的问题的代码示例. 解决方法您可以使用自定义模型绑定器:public class DoubleModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext)
{
var result = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
if (result != null && !string.IsNullOrEmpty(result.AttemptedValue))
{
if (bindingContext.ModelType == typeof(double))
{
double temp;
var attempted = result.AttemptedValue.Replace(",",".");
if (double.TryParse(
attempted,NumberStyles.Number,CultureInfo.InvariantCulture,out temp)
)
{
return temp;
}
}
}
return base.BindModel(controllerContext,bindingContext);
}
}
可以在Application_Start中注册: ModelBinders.Binders.Add(typeof(double),new DoubleModelBinder()); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – C#.NET MVC3 ModelState.IsValid
- asp.net-mvc – Elmah.MVC在IIS Express下工作但不是IIS 7.
- asp.net-mvc – 具有Windows身份验证的MVC3 Web应用程序中的
- asp.net – page load()或者page init()
- asp.net – Global.asax PostAuthenticateRequest事件绑定是
- asp.net-mvc – 2010初学者指南流利的nHibernate
- asp.net-mvc – 如何在Asp.Net MVC循环中呈现纯HTML链接?
- .NET中的抽象工厂
- asp.net-mvc – ASP .Net MVC中购物车的会话变量的替代方法
- asp.net – 实体框架:如何解决“FOREIGN KEY约束可能导致循
推荐文章
站长推荐
- asp.net-mvc – MVC ajax json post到控制器动作
- asp.net-mvc – 为什么我的动作方法不会超时?
- asp.net – 当你不能使用ViewState时你会怎么做?
- asp.net-mvc – 在App_Code中的共享@helper中使用
- asp.net – 很好的复杂linq到sql示例?
- asp.net-mvc-2 – ::%:和%=与嵌套代码(表达
- environment-variables – 如何在生产环境中设置
- asp.net-mvc – 部署后不显示捆绑的css … ASP.N
- asp.net-mvc – 以表格形式上传图片并在MVC 4上显
- asp.net – Repeater中DropDownList的SelectedVa
热点阅读
