我可以将ASP.Net MVC 2应用程序本地化为英语,但可以更改日期格式吗?

问题描述

| 在web.config中使用以下标记,将应用程序本地化为英语
<globalization culture=\"en-US\" uiCulture=\"en\" />
我可以将日期格式更改为\'dd / MM / yyyy \'并保留所有其他英语文化内容吗? (例如,将小数点分隔符保留为点\'。\')。 编辑 我正在寻找一次性调整项,一旦我忘记了,就可以进行设置/实施。我不想装饰UI中使用的所有DateTime变量。     

解决方法

        当然。在您的视图模型上:
[DisplayFormat(DataFormatString = @\"{0:dd/MM/yyyy}\",ApplyFormatInEditMode = true)]
public DateTime Date { get; set; }
并且在您看来:
<%= Html.DisplayFor(x => x.Date) %>
更新: 另一种可能性是编写自定义显示模板(
~/Views/Shared/DisplayTemplates/DateTime.ascx
):
<%@ Control 
    Language=\"C#\" 
    Inherits=\"System.Web.Mvc.ViewUserControl<DateTime>\" 
%>
<%= Model.ToString(\"dd/MM/yyyy\") %>
然后每次您在视图中使用日期时:
<%= Html.DisplayFor(x => x.Date) %>
它将使用自定义显示模板并显示格式正确的日期。您可以使用编辑器模板执行相同的操作。