2017-01-13 6 views
3

Я работаю над проектом, который требует ввести даты для создания множества объектов.Формат даты в dd/MM/yyyy в TextBoxДля даты ввода

Когда я тестирую его на Chrome, проблем нет. Проблема в том, что я запускаю его в Firefox или Internet Explorer.

Для примера, на Chrome я использую эту линию (она отлично работает и отображение DatePicker):

@Html.TextBoxFor(model => model.DateReception, new { style = "font-family: 'AvenirLTStd-Light'; font-size: 15px; font-weight: bold; font-style: normal; color: black;", id = "DateReception", type = "date", min = "2016-01-01", required = "true", @class = "col-sm-10" }) 

Для других браузеров, то DatePicker не отображается, поэтому я использую эту строку:

@Html.TextBoxFor(model => model.DateReception, "{0:dd/MM/yyyy}", new { style = "font-family: 'AvenirLTStd-Light'; font-size: 15px; font-weight: bold; font-style: normal; color: black;", id = "DateReceptionOther", type = "date", required = "true", @class = "numbersOnly col-sm-10" }) 

Проблема заключается в том, что когда дело доходит до проверки модели и ее передачи контроллеру, это не работает ... Браузер ожидает, что я установил дату в формате «MM/dd/yyy», но мне нужно формат «dd/MM/yyyy».

Для этого я добавил {0:dd/MM/yyyy} на моей HTML линии непосредственно перед и моя модель выглядит следующим образом:

[Display(Name = "Date de réception :")] 
[DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")] 
public DateTime? DateReception { get; set; } 

Там картинка ошибки на моей веб-странице (25/12/2016 не работает в то время как 12/12/2016 является)

Example of the error

+0

Надеюсь, что это сообщение поможет https://weblog.west-wind.com/posts/2012/nov/08/html5-input-typedate-formatting- проблемы –

+0

Я уже пробовал, но проблема все еще здесь –

+0

Какая версия MVC вы используете – sedevel

ответ

0

Вы нашли был поставлен в web.config следующий

<system.web> 
    <globalization culture='auto' uiCulture='auto'/> 
</system.web> 

ru-RU: M/d/yyyy (например, мм/дд/гггг)

ан-ГБ: дд/мм/гггг (например, дд/мм/гггг)

+0

Я положил это в Web.config, но все еще не работает –

1

Модель

[DataType(DataType.Date)] 
    [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] 
+0

Это было так, как прежде, чем я изменился с того, что я видел в Интернете, но не работал –

1

Это, как я установил эту проблему для моего самостоятельно.

Это идет в модели:

[DataType(DataType.Date)] 
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)] 
public Nullable<System.DateTime> SomeDate { get; set; } 
Смежные вопросы