使用不同区域性时绑定DateTime和十进制有麻烦

时间:2019-03-30 22:40:28

标签: aspnetboilerplate

最近,我已将项目迁移到Core 2.2和ABP 4.4。从那以后,我在绑定DateTime和小数时遇到麻烦。当区域性设置为“ en”时,这一切都很好,但是当我将其更改为“ hr”(克罗地亚语)时,它说“无法将字符串转换为DateTime:19.06.2019”。它基本上将19表示为月,将06表示为日。

https://imgur.com/DDkIAYb

小数点还会出现另一个问题,因为“ hr”区域性中的默认分隔符是逗号。我已经在Startup中注册了文化,然后一切都正常工作了。


var supportedCultures = new[]
  {
    new CultureInfo("hr"),
    new CultureInfo("en")
  };

services.Configure<RequestLocalizationOptions>(options =>
  {
    options.DefaultRequestCulture = new RequestCulture("hr");
    options.SupportedCultures = supportedCultures;
    options.SupportedUICultures = supportedCultures;
  });

我注意到这一切都适用于“常规”控制器,当我调用应用程序服务方法时会出现问题。在WebCore模块中设置UseMvcDateTimeFormatForAppServices属性没有帮助。


Configuration.Modules.AbpAspNetCore()
  .CreateControllersForAppServices(
    typeof(BIApplicationModule).GetAssembly()
  );

Configuration.Modules.AbpAspNetCore().UseMvcDateTimeFormatForAppServices = true;

有什么建议吗?

0 个答案:

没有答案