在我的应用程序中,MVC区域性设置为"en-US“,UICulture设置为"nl-NL”。
我有一个视图,它呈现一个包含Datetime对象的模型。
如果我这样呈现它:
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) })我知道存在可用于DateTime字段的DisplayFormat属性,但这不是一个解决方案,因为UICulture是在运行时确定的。
那么,有没有一种更优雅的解决方案告诉EditorFor和TextboxFor方法使用UICulture而不是文化呢?
发布于 2014-01-30 22:38:20
Model.ForFilter.FromDate.ToString("d", CultureInfo.CurrentUICulture)会比你现在的IMHO更优雅。
但是,如果您想要nl-NL区域性的日期(以及可能的数字)格式,为什么不将CurrentCulture设置为nl-NL呢?
例如,in web.config
<globalization culture="nl-NL" uiCulture="nl-NL" />https://stackoverflow.com/questions/21457895
复制相似问题