Невозможно установить формат даты и времени в MVC 4 с использованием аннотаций данных

Я попробую все, но не работаю с этим (dd/MM/yyyy) формат даты, это всегда затворы мм/дд/гггг

[Display(Name = "Release Date")]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public Nullable<DateTime> release_date { get; set; }

Вид бритвы

@Html.EditorFor(model => model.release_date)

Использование шаблона DateTime.

@model Nullable<System.DateTime>
@if (Model.HasValue)
{
    @Html.TextBox("", String.Format("{0:dd/MM/yyyy}", Model.Value))
}
else
{
    @Html.TextBox("", String.Format("{0:dd/MM/yyyy}", DateTime.Now))
}
@{
    string name = ViewData.TemplateInfo.HtmlFieldPrefix;
    string id = name.Replace(".", "_");
}
<script type="text/javascript">
    $(document).ready(function () {
        $("#@id").datepicker({
                dateFormat: "dd/mm/yy",
                showStatus: true,
                showWeeks: true,
                highlightWeek: true,
                numberOfMonths: 1,
                showAnim: "scale",
                showOptions: {
                    origin: ["top", "left"]
                }
          });
    });
</script>

Ответы

Ответ 1

Вы пропустили здесь 2 вещи:

DataFormatString="{0:dd/MM/yyyy}"; //It is dd/MM/yyyy instead of dd/mm/yyyy

и вам также необходимо:

ApplyFormatInEditMode=true

Попробуйте использовать это:

[Display(Name = "Release Date")]
[DataType(DataType.Date), DisplayFormat( DataFormatString="{0:dd/MM/yyyy}", ApplyFormatInEditMode=true )]
public Nullable<DateTime> release_date { get; set; }

Ответ 2

{0:dd/mm/yyyy} должен быть {0:dd/mm/yyyy}, потому что mm означает минуты, а не месяцы:

[Display(Name = "Release Date")]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public Nullable<DateTime> release_date { get; set; }

Ответ 3

Если вы используете аннотацию данных. когда дисплей хорош. но в режиме редактирования. он по-прежнему использует формат сервера (настройка культуры) DisplayFormat: нравится это имя, только для отображения

Есть несколько вариантов решения.  - вставить в качестве строки строку с вашим любимым форматом  - написать привязку клиента  - Настройка глобализации в web.config для формата: dd/MM/yyy i, используя настройку ниже.

<system.web>
    <globalization culture="en-GB"/>
....