Могу ли я перевести приложение ASP.Net MVC 2 на английский язык, но изменить формат даты? - PullRequest
2 голосов
/ 01 июня 2011

С помощью следующего тега в web.config я локализовал приложение на английский

<globalization culture="en-US" uiCulture="en" />

Могу ли я изменить формат даты на «дд / мм / гггг» и оставить все остальные элементы английской культуры? (например, оставьте десятичный разделитель точкой '.').


Редактировать

Я ищу одноразовую настройку, что-то для настройки / реализации, как только я забуду об этом. Я не хочу украшать все мои переменные DateTime, используемые в пользовательском интерфейсе.

1 Ответ

4 голосов
/ 01 июня 2011

Конечно. На ваш взгляд модель:

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

и по вашему мнению:

<%= Html.DisplayFor(x => x.Date) %>

UPDATE:

Другая возможность - написать собственный шаблон отображения (~/Views/Shared/DisplayTemplates/DateTime.ascx):

<%@ Control 
    Language="C#" 
    Inherits="System.Web.Mvc.ViewUserControl<DateTime>" 
%>
<%= Model.ToString("dd/MM/yyyy") %>

и затем каждый раз, когда вы используете дату в представлении:

<%= Html.DisplayFor(x => x.Date) %>

будет использоваться пользовательский шаблон отображения и отображать дату в правильном формате. Вы можете сделать то же самое с шаблоном редактора.

...