相关疑难解决方法(0)

MVC 3客户端验证,模型绑定十进制值和文化(不同的小数分隔符)

我正在尝试进行客户端验证(模型绑定)以支持不同的文化,我发现了一个有趣的博客,我正在尝试实现该主题.

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)

model asp.net-mvc-3

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

asp.net-mvc-3 ×1

model ×1