gpt4 book ai didi

c# - 将 UICulture 设置为 Html.EditorFor 方法

转载 作者:行者123 更新时间:2023-11-30 18:30:26 26 4
gpt4 key购买 nike

在我的应用程序中,MVC Culture 设置为“en-US”,UICulture 设置为“nl-NL”。
我有一个呈现包含 Datetime 对象的模型的 View 。
如果我这样渲染它:

Html.EditorFor(x => x.ForFilter.FromDate)

它将以 en-US 文化格式显示。因此,为了以荷兰语格式显示日期,我必须这样做:

var shortDatePattern = System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat.ShortDatePattern;
@Html.TextBoxFor(x => x.ForFilter.FromDate, new {Value = Model.ForFilter.FromDate.ToString(shortDatePattern) })

我知道 DisplayFormat 属性的存在,我可以将其用于 DateTime 字段,但这不是解决方案,因为 UICulture 在运行时确定。

那么,是否有更优雅的解决方案来告诉 EditorForTextboxFor 方法使用 UICulture 而不是 Culture?

最佳答案

Model.ForFilter.FromDate.ToString("d", CultureInfo.CurrentUICulture)

会比您目前拥有的恕我直言更优雅。

但是,如果您希望日期(可能还有数字)在 nl-NL 文化中格式化,为什么不将 CurrentCulture 设置为 nl-NL?

例如,in web.config :

<globalization culture="nl-NL" uiCulture="nl-NL" />

关于c# - 将 UICulture 设置为 Html.EditorFor 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21457895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com