【问题标题】:jQuery Date validation works on localhost, but not on AzurejQuery 日期验证适用于 localhost,但不适用于 Azure
【发布时间】:2018-03-14 12:15:20
【问题描述】:

我对 MVC 比较陌生。我在 VS 2017 中创建了一个新的 MVC ASP.NET Core 2.0 项目,并设法让事情进展顺利,直到我添加了一个 DateTime 字段。

模型/视图

    [Display(Name = "Date")]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
    public DateTime QDate { get; set; }

我已经在本地主机上的 Edge、IE、Chrome 和 Firefox 中尝试过,一切正常。

但是在上传到 Azure 后,日期验证显示

值“22/09/2017”对于日期无效

只有在我使用 MM/dd/yyyy 格式时才有效!

这是我的第一篇文章,所以如果您需要更多信息,我会尽快回复。

非常感谢

【问题讨论】:

  • 您需要将应用的文化(例如在web.config 文件中)设置为接受该格式日期的文化
  • 你试过在 web.config 中设置<globalization culture="[yourculture]" uiCulture="[yourCulture]" /> 吗?
  • 因为在您的开发环境中,您已将时钟和时间格式设置为您当地的文化。但在 azure 中,它始终设置为 mm/dd/yyyy,时间始终为 utc 时间
  • 这种类型的应用程序没有 web.config 文件!那么,我将在哪里以及如何设置文化信息?一个例子或链接会很有帮助,谢谢。
  • 好的,找到了这个Set culture and ui-culture in appsettings.json (asp.net core localization)?,我开始工作了。

标签: jquery asp.net asp.net-mvc azure date


【解决方案1】:

我最终在 startup.cs 中使用了这种硬编码的较短方法:

        var locale = "en-GB";
        RequestLocalizationOptions localizationOptions = new RequestLocalizationOptions
        {
            DefaultRequestCulture = new RequestCulture(locale),
            SupportedCultures = new[] { new CultureInfo(locale) },
            SupportedUICultures = new[] { new CultureInfo(locale) }
        };
        app.UseRequestLocalization(localizationOptions);

这很适合我正在做的事情。谢谢你的帮助

【讨论】:

    猜你喜欢
    • 2014-07-14
    • 1970-01-01
    • 2012-08-01
    • 2016-10-10
    • 2014-02-26
    • 2017-07-16
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多