2016-09-14 4 views
0

ASP.NET MVC 5 Дата не будет отображаться в Chrome.ASP.NET MVC 5 Дата не будет отображаться в Chrome

В приложении нет настроек культуры.

Как это исправить?

Html

@Html.EditorFor(model => model.Changed, 
          new 
          { htmlAttributes = 
            new { @class = "form-control", @Value = Model.Changed.ToString("MM/dd/yyyy") } }) 

Модель

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

enter image description here

+1

Возможный дубликат [MVC4 DataType.Date EditorFor не будет отображаться значение даты в Chrome, штраф в Internet Explorer] (http://stackoverflow.com/ вопросы/12633471/mvc4-datatype-date-editorfor-wont-display-date-value-in-chrome-fine-in-interne) –

+0

@ J.Swietek Нет нет Нет Это не работает, человек –

+0

Вы пытались удалить атрибут DataType, как сказано в связанном ответе? –

ответ

2

В браузерах, которые поддерживают HTML5, date, time и datetime типов ввода, значение поставляется должен быть в формате ISO, то есть YYYY-MM-DD для date, YYYY-MM-DDTHH:MM:SS для datetime и т. Д. Если он отсутствует в этом формате, браузер не может проанализировать значение и поэтому обрабатывает ввод так, как будто он не имеет значения. Так что все, что вам нужно, чтобы изменить атрибут DisplayFormat к:

[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] 
+0

Примечание. Кроме того, OP необходимо удалить 'new {@Value = Model.Changed.ToString (" MM/dd/yyyy ")} ' –