我正在尝试进行客户端验证(模型绑定)以支持不同的文化,我发现了一个有趣的博客,我正在尝试实现该主题.
http://haacked.com/archive/2011/03/19/fixing-binding-to-decimals.aspx
波科
public class Jogador
{
public int ID { get; set; }
public string Name { get; set; }
public decimal Salary { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有自定义的DecimalModelBinder类
public class DecimalModelBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
ValueProviderResult valueResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
ModelState modelState = new ModelState {Value = valueResult};
object actualValue = null;
try
{
actualValue = Convert.ToDecimal(valueResult.AttemptedValue, CultureInfo.CurrentCulture);
}
catch (FormatException e)
{
modelState.Errors.Add(e);
}
bindingContext.ModelState.Add(bindingContext.ModelName, modelState);
return actualValue;
}
}
Run Code Online (Sandbox Code Playgroud)
我的web.config:
<compilation …Run Code Online (Sandbox Code Playgroud)